一、先上效果图片:

第一个是自定义;

第二个是原生的:

二、atingBar 介绍:

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

  当使用可以支持用户交互的RatingBar时,无论将控件(widgets)放在它的左边还是右边都是不合适的。

  只有当布局的宽被设置为wrap content时,设置的星星数量(通过函数setNumStars(int)或者在XML的布局文件中定义)将显示出来(如果设置为另一种布局宽的话,后果无法预知)。

  次级进度一般不应该被修改,因为他仅仅是被当作星型部分内部的填充背景。

三、嵌套类

  接口:RatingBar.OnRatingBarChangeListener

  一个回调函数,当星级进度改变时修改客户端的星级。

四、XML属性

属性名称

描述

Android:isIndicator

RatingBar是否是一个指示器(用户无法进行更改)

android:numStars

显示的星型数量,必须是一个整形值,像“100”。

android:rating

默认的评分,必须是浮点类型,像“1.2”。

android:stepSize

评分的步长,必须是浮点类型,像“1.2”。

  五、公共方法

public int getNumStars ()

    返回显示的星型数量

      返回值

  显示的星型数量

  public RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener ()

返回值

监听器(可能为空)监听评分改变事件

  public float getRating ()

  获取当前的评分(填充的星型的数量)

  返回值

  当前的评分

  public float getStepSize ()

  获取评分条的步长

  返回值

  步长

  public boolean isIndicator ()

返回值

判断当前的评分条是否仅仅是一个指示器(注:即能否被修改)

  public void setIsIndicator (boolean isIndicator)

  设置当前的评分条是否仅仅是一个指示器(这样用户就不能进行修改操作了)

  参数

  isIndicator       Bool值,是否是一个指示器

  public synchronized void setMax (int max)

  设置评分等级的范围,从0到max

  参数

  max         评分条最大范围。

  public void setNumStars (int numStars)

  设置显示的星型的数量。为了能够正常显示它们,建议将当前widget的布局宽度设置为

wrap content

  参数

  numStars         星型的数量

  public void setOnRatingBarChangeListener (RatingBar.OnRatingBarChangeListener listener)

  设置当评分等级发生改变时回调的监听器

  参数

  listener  监听器

  public void setRating (float rating)

  设置分数(星型的数量)

  参数

  rating      设置的分数

  public void setStepSize (float stepSize)

  设置当前评分条的步长(step size)

  参数

  stepSize 评分条的步进。例如:如果想要半个星星,它的值为0.5。

四、XML属性

属性名称

描述

Android:isIndicator

RatingBar是否是一个指示器(用户无法进行更改)

android:numStars

显示的星型数量,必须是一个整形值,像“100”。

android:rating

默认的评分,必须是浮点类型,像“1.2”。

android:stepSize

评分的步长,必须是浮点类型,像“1.2”。

  五、公共方法

public int getNumStars ()

    返回显示的星型数量

      返回值

  显示的星型数量

  public RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener ()

返回值

监听器(可能为空)监听评分改变事件

  public float getRating ()

  获取当前的评分(填充的星型的数量)

  返回值

  当前的评分

  public float getStepSize ()

  获取评分条的步长

  返回值

  步长

  public boolean isIndicator ()

返回值

判断当前的评分条是否仅仅是一个指示器(注:即能否被修改)

  public void setIsIndicator (boolean isIndicator)

  设置当前的评分条是否仅仅是一个指示器(这样用户就不能进行修改操作了)

  参数

  isIndicator       Bool值,是否是一个指示器

  public synchronized void setMax (int max)

  设置评分等级的范围,从0到max

  参数

  max         评分条最大范围。

  public void setNumStars (int numStars)

  设置显示的星型的数量。为了能够正常显示它们,建议将当前widget的布局宽度设置为

wrap content

  参数

  numStars         星型的数量

  public void setOnRatingBarChangeListener (RatingBar.OnRatingBarChangeListener listener)

  设置当评分等级发生改变时回调的监听器

  参数

  listener  监听器

  public void setRating (float rating)

  设置分数(星型的数量)

  参数

  rating      设置的分数

  public void setStepSize (float stepSize)

  设置当前评分条的步长(step size)

  参数

  stepSize 评分条的步进。例如:如果想要半个星星,它的值为0.5。

六、android评分条RatingBar自定义设置

sdk23 RatingBar为评分条控件,默认效果为若干个灰色的星星,如果想将其换成其他自定义图片就要自定义它的style。首先是布局文件:

    <RatingBar
android:id="@+id/ratingone"
android:numStars="5" 设置星的个数,注意下边的宽度要设置为wrap_content
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:rating="3" 设置默认选中星的个数
android:stepSize="0.5" 设置评分的间隔,每次增加或者减少多少
android:isIndicator="false"/> 设置 不允许用户进行评分操作,flase 表示允许

其中android:numStars="5"设置显示的星星数量为5; android:rating="5"设置选中的数量为5,也就是全部选中

android:isIndicator="true"设置评分条只显示结果无法通过点击改变选中状态。

然后在res/values目录下建立styles.xml文件 代码:

<pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'宋体';font-size:12.0pt;"><span style="color:#e8bf6a;"><style </span><span style="color:#bababa;">name=</span><span style="color:#6a8759;">"myRatingBarStyle" </span><span style="color:#bababa;">parent=</span><span style="color:#6a8759;">"@android:style/Widget.RatingBar"</span><span style="color:#e8bf6a;">>
</span><span style="color:#e8bf6a;"> <item </span><span style="color:#bababa;">name=</span><span style="color:#6a8759;">"android:progressDrawable"</span><span style="color:#e8bf6a;">></span>@drawable/my_rating_bar<span style="color:#e8bf6a;"></item>
</span><span style="color:#e8bf6a;"> <item </span><span style="color:#bababa;">name=</span><span style="color:#6a8759;">"android:minHeight"</span><span style="color:#e8bf6a;">></span>16dp<span style="color:#e8bf6a;"></item>
</span><span style="color:#e8bf6a;"> <item </span><span style="color:#bababa;">name=</span><span style="color:#6a8759;">"android:maxHeight"</span><span style="color:#e8bf6a;">></span>16dp<span style="color:#e8bf6a;"></item>
</span><span style="color:#e8bf6a;"></style></span>

android:progressDrawable为评分条图案。接下来在res/drawable目录下建立my_rating_bar.xml文件

代码:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"
android:drawable="@drawable/star1"></item>
<item android:id="@android:id/secondaryProgress"
android:drawable="@drawable/star1"></item>
<item android:id="@android:id/progress"
android:drawable="@drawable/star2"></item>
</layer-list>

<item android:id="@+android:id/progress" android:drawable="@drawable/rating_show" />为设置评分图案为  rating_show.png,也就是选中时的图案;

<item android:id="@+android:id/background" android:drawable="@drawable/rating" />  为设置背景图案为 rating.png,也就是为选中时的图案。

Demo 下载

android 评分条 RatingBar 使用及自定义的更多相关文章

  1. android评分条RatingBar自定义设置

    RatingBar为评分条控件,默认效果为若干个绿色的星星,如果想将其换成其他自定义图片就要自定义它的style.首先是布局文件: 其中android:numStars="5"设置 ...

  2. Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar

    原文:Android零基础入门第53节:拖动条SeekBar和星级评分条RatingBar 前面两期都在学习ProgressBar的使用,关于自定义ProgressBar的内容后期会继续学习的,本期先 ...

  3. 7.Android之评分条RatingBar和拖动条SeekBar学习

    评分条RatingBar和拖动条SeekBar很常见,今天来学习下. (1)RatingBar评分条 如图: <RelativeLayout xmlns:android="http:/ ...

  4. Android 自学之星级评分条RatingBar

    星级评分条(RatingBar)与拖动条十分相似,他们还有共同的父类AbsSeekBar.实际上星级评分条和拖动条的用法和功能都十分的接近:他们都允许用户通过拖动来改变进度.RatingBar与See ...

  5. 评分条RatingBar Android

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  6. 更改星级评分条 RatingBar 的样式

    1.首先在布局中引用星级评分条: <RatingBar            android:id="@+id/room_ratingbar"            styl ...

  7. ProgressBar(进度条)、SeekBar(拖动条)与星级评分条(RatingBar)

    1.ProgressBar(进度条) (1)介绍 (2)常用属性 (3)xml代码 <ProgressBar android:id="@+id/progressBar2" s ...

  8. [Android]使用Dagger 2依赖注入 - 自定义Scope(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5095426.html 使用Dagger 2依赖注入 - 自定义 ...

  9. android 1.6 launcher研究之自定义ViewGroup (转 2011.06.03(二)——— android 1.6 launcher研究之自定义ViewGroup )

    2011.06.03(2)——— android 1.6 launcher研究之自定义ViewGroup2011.06.03(2)——— android 1.6 launcher研究之自定义ViewG ...

随机推荐

  1. 11个提问频率最高的PHP面试题

    问题:请用最简单的语言告诉我PHP是什么? 回答:PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言. 问题:什么是MVC? 回答:MVC由Model(模 ...

  2. sql 查看数据库物理文件路径

    方式一:用于查询all数据库,适用于SQL2005及以上版本. USE [Master] GO /****** 对象 :  Table [dbo].[Master]    脚本日期 : 06/29/2 ...

  3. 【LINUX命令】之MV

    linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 注意: mv命 ...

  4. Linux运维入门到高级全套常用要点

    Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...

  5. Web性能测试的简介

    一.术语 1.并发用户:并发一般分两种.1)严格意义上的并发,即所有的用户在同一时刻做同一件事情或操作,这种操作一般指做同一类型的业务:2)广义范围的并发,与前者主要区别,尽管多个用户对系统发出了请求 ...

  6. MyFirstgame 拼图

    package auto; /** * IDA*求解15puzzle问题 * IDA*整合了IDDFS和A*算法.其中IDDFS控制了求解过程中的内存开销,A*算法意味着"启发式" ...

  7. etcd第一集

    网站:https://github.com/coreos/etcd 一些观点:https://yq.aliyun.com/articles/11035 1.etcd是键值存储仓库,配置共享和服务发现2 ...

  8. WebAPI学习点滴(一)

    对于GET请求,如果方法名不是以Get开头,就必须加上[HttpGet]标签,不然无法找到该方法,如果是以Get开头则没有这个问题. 因此,推荐所有方法都确定访问方式,加上标签. [HttpGet] ...

  9. 初转java随感(一)程序=数据结构+算法

    大学刚学编程的时候,有一句很经典的话程序=数据结构+算法 今天有了进一步认识. 场景: 1.当前局面 (1)有现成的封装好的分页组件 返回结果是page.类型为:Page.包括 page 分页信息,d ...

  10. JS跨域解决iframe高度自适应(IE8/Firefox/Chrome适用)

    参考园友的js跨越实现,有提到三种方式: 1. 中间页代理方式,利用iframe的location.hash 参见:http://www.5icool.org/a/201203/a1129.html ...