RatingBar是Adnroid中的评分条。效果挺得的

源码下载

一、概述

    RatingBar是SeekBar和ProgressBar的扩展,用星星来评级。使用的默认大小RatingBar时,用户可以触摸/拖动或使用键来设置评分,它有俩种样式(大、小),其中大的只适合指示,不适合于用户交互。

二、实例

1.布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:paddingLeft="10dip"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<RatingBar android:id="@+id/ratingbar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="3"
        android:rating="2.5" />

<RatingBar android:id="@+id/ratingbar2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="5"
        android:rating="2.25" />

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dip">
       
        <TextView android:id="@+id/rating"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
           
        <RatingBar android:id="@+id/small_ratingbar"
            style="?android:attr/ratingBarStyleSmall"
            android:layout_marginLeft="5dip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical" />
           
    </LinearLayout>

<RatingBar android:id="@+id/indicator_ratingbar"
        style="?android:attr/ratingBarStyleIndicator"
        android:layout_marginLeft="5dip"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical" />
           
</LinearLayout>

2.Java代码

package wjq.WidgetDemo;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.TextView;
import android.widget.RatingBar.OnRatingBarChangeListener;

public class RatingBarDemo extends Activity implements
  OnRatingBarChangeListener {
 private RatingBar mSmallRatingBar;
 private RatingBar mIndicatorRatingBar;
 private TextView mRatingText;

/*
  * (non-Javadoc)
  *
  * @see android.app.Activity#onCreate(android.os.Bundle)
  */
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.ratingbarpage);
  
   mRatingText = (TextView) findViewById(R.id.rating);

// We copy the most recently changed rating on to these indicator-only
         // rating bars
         mIndicatorRatingBar = (RatingBar) findViewById(R.id.indicator_ratingbar);
         mSmallRatingBar = (RatingBar) findViewById(R.id.small_ratingbar);
        
         // The different rating bars in the layout. Assign the listener to us.
         ((RatingBar)findViewById(R.id.ratingbar1)).setOnRatingBarChangeListener(this);
         ((RatingBar)findViewById(R.id.ratingbar2)).setOnRatingBarChangeListener(this);
 }

@Override
 public void onRatingChanged(RatingBar ratingBar, float rating,
   boolean fromUser) {
   final int numStars = ratingBar.getNumStars();
         mRatingText.setText(
                  " 受欢迎度" + rating + "/" + numStars);

// Since this rating bar is updated to reflect any of the other rating
         // bars, we should update it to the current values.
         if (mIndicatorRatingBar.getNumStars() != numStars) {
             mIndicatorRatingBar.setNumStars(numStars);
             mSmallRatingBar.setNumStars(numStars);
         }
         if (mIndicatorRatingBar.getRating() != rating) {
             mIndicatorRatingBar.setRating(rating);
             mSmallRatingBar.setRating(rating);
         }
         final float ratingBarStepSize = ratingBar.getStepSize();
         if (mIndicatorRatingBar.getStepSize() != ratingBarStepSize) {
             mIndicatorRatingBar.setStepSize(ratingBarStepSize);
             mSmallRatingBar.setStepSize(ratingBarStepSize);
         }

}

}

Android 控件之RatingBar评分条相关推荐

  1. Android 控件之RatingBar评分条(五星)自定义样式

    RatingBar的自定义效果 有时候android系统提供给我们的ratingbar效果并不达到我们的要求,这个时候就可以自定义自己喜欢的ratingbar. 从上面的效果可以看出,自定义这样的组件 ...

  2. Android控件点击圆形阴影反馈解决方案

    Android控件点击圆形阴影反馈解决方案 愿景 对于手机App而言,没有反馈效果的按钮使用体验是不舒服的.最近在深入学习Material Design,对其中的ripple效果比较感兴趣.我想着尝试 ...

  3. 【079】用代码来创建 Android 控件

    一般来说我们在创建控件的时候都是在 XML 文件中完成的, 实施起来还是蛮方便的, 而且修改起来也可以很快的看见效果, 但是有一个很大的劣势就是没办法动态的创建控件, 举个例子, 例如我从数据库中取出 ...

  4. Android 控件架构及View、ViewGroup的测量

    附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...

  5. Android控件美化Shape

    Android控件美化Shape你会用吗?   -- 未审核 编辑文档  如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android1 ...

  6. android控件属性

    android控件属性 控件属性: android属性 Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true或false an ...

  7. Android控件系列之RadioButtonRadioGroup

    2019独角兽企业重金招聘Python工程师标准>>> 学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用 ...

  8. 最简单也最难——如何获取到Android控件的高度,获取android控件

    最简单也最难--如何获取到Android控件的高度,获取android控件 问题 如何获取一个控件的长和高,相信很多朋友第一眼看见这个问题都会觉得很简单,直接在onCreate里面调用getWidth ...

  9. 【Android】关于Android控件EditText的属性InputType的一些经验

    关于Android控件EditText的属性InputType的一些经验   来源:http://blog.163.com/inflexible_simple/blog/static/16769468 ...

最新文章

  1. 服务器显示内存已超标,服务器显示内存已超标
  2. python判断是不是文件夹_Python判断文件和文件夹是否存在的方法
  3. 两个排序数组的中位数
  4. [CentOS Python系列] 三.阿里云MySQL数据库开启配置及SQL语句基础知识
  5. ^_-诚征BLOG友情连接
  6. ajax上送src,使用script的src实现跨域和类似ajax效果
  7. python中读取文本文件_利用Python读取文本文件?
  8. 怎么让电脑运行速度变快_加快电脑运行速度的6个秘笈,系统安装,电脑维修必备技巧...
  9. ztree隐藏指定节点后面的(重命名和删除)图标
  10. oracle10g配置tns,连接Oracle 10g时ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SID...
  11. Unity实现简单卡牌游戏框架
  12. 锂电池UN38.3测试项目介绍
  13. iOS Mac安装ipa文件的几种方法
  14. 微信小程序码无法解析到scene参数问题
  15. python web游戏实例_Python实现小黑屋游戏的完整实例
  16. CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark
  17. linux常用运维shell,常用的shell命令,持续更新 | linux运维小站–linux系统架构_服务器运维_Linux运维工程师工作手札...
  18. 鸿蒙系统安装苹果电脑,好消息!华为鸿蒙OS系统,解决了苹果、安卓系统的一大难题...
  19. WLAN与WiFi各是什么意思有什么区别
  20. Thinkpad w530 换内存视频教程

热门文章

  1. 正几边形可以实现无缝拼接?
  2. 中文字符匹配java_java正则匹配HTML中a标签里的中文字符示例
  3. wemosD1_WIFI模块 与 arduino
  4. matlab vision工具箱使用手册,matlab-Computer Vision System ToolBox的系统对象使用
  5. linux jetty 安装目录结构,Linux下Jetty 9安装部署
  6. Hashcode 的作用
  7. Java 泛形通配符 ?
  8. mysql截取字符串中的部分内容_Mysql字符串截取及获取指定字符串中的数据
  9. 如何避免重复请求/并发请求?这样处理才足够优雅
  10. 推荐一款免费国产远程办公神器ToDesk,TeamViewer完美替代品