RatingBar评分控件使用笔记
来源:互联网 发布:磨皮插件怎么安装mac 编辑:程序博客网 时间:2024/06/05 23:57
需要了解
Android的进度条一共有三种,RatingBar属于可拖拽的评分条,本质上还是进度条。
进度条:
* ProgressBar* SeekBar* RatingBar
参考资料
- 全部:http://www.jianshu.com/p/75610e5a64a5
- 自定义样式:http://blog.csdn.net/fff2666/article/details/50498238
资料使用总结
- 完美,可惜该控件无法自定义宽高,只能设置包裹内容(wrap_content),所以一旦对宽高有要求,需要设置自定义样式
使用过程不加赘述,发现两篇文章都没有告知如何设置评分的初始值,所以添加笔记
// 更新评分ratingBar.setRating(float rating);// 得到评分float rating = ratingBar.getRating();// 更新步长ratingBar.setStepSize(float ratingBarStepSize);// 获得步长float ratingBarStepSize = ratingBar.getStepSize();// 获得星星个数int numStars = getNumStars();// 更新星星个数setNumStars(int numStars);
文章内容整理
布局文件(xml)
- 属性参数
- android:numStars:星星个数
- android:rating:默认点亮的星星个数
- android:stepSize:步长,1、0.5是常用的
系统样式
style=”@android:style/Widget.Holo.RatingBar”
style=”@android:style/Widget.RatingBar”
style=”@android:style/Widget.Material.RatingBar”
style=”@android:style/Widget.DeviceDefault.RatingBar”
- 以上样式可以根据关键字总结为
- Holo
- 默认
- Material
- DeviceDefault
- 还有一些其他标签
- small 小
- light 亮
- Indicator 指示器,不能选择评价了。
自定义样式
系统原本的样式
<style name="myRatingBar"> <item name="indeterminateOnly">false</item> <item name="progressDrawable">@drawable/ratingbar</item> <item name="indeterminateDrawable">@drawable/ratingbar</item> <item name="minHeight">38dip</item> <item name="maxHeight">38dip</item> <item name="thumb">@null</item> <item name="isIndicator">true</item></style>
- 个人理解,可忽略
- 由此可见,控制高的是minHeight,maxHeight;为什么没有宽呢,原来他是一颗星一颗星的计算的,也就是根据你设置的星星个数和图片的宽度自动生成宽度(只能设置高,宽只能根据这个式子计算,设置是无效的。)。
- indeterminateOnly:设置只采用不精确显示进度模式,一般都不会设置的,所以直接忽略。
- 由此可见,我们的星星样式是progressDrawable属性设置的
- minHeight和maxHeigt控制宽高
- isIndicator 设置是否是指示器,设置为true将无法更改评分
在values目录下style.xml中自定义新的样式。
<style name="myRatingBar"> <item name="android:progressDrawable">@drawable/hh</item> <item name="android:minHeight">50dip</item> <item name="android:maxHeight">50dip</item> <item name="android:thumb">@null</item> <item name="android:isIndicator">true</item></style>
自定义新的样式的图片
<?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/A"> </item> <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/B"> </item> <item android:id="@android:id/progress" android:drawable="@drawable/C"> </item></layer-list>
自定义的样式图片详解
- backgroud:是用来填充背景图片的,和进度条非常类似,当我们设置最高评分时(android:numStars),系统就会根据我们的设置,来画出以星星为单位的背景(假如android:numStars=”5”,就会画出5颗灰色的星星)
- progress:是用来在背景图片基础上进行填充的指示属性(和进度条类似,第一进度位置)
- secondaryProgress:同progress一样属于第二进度位置(如果不定义这个,进度条拖动,每次就画出一整颗星星(亮),第二进度(暗)没有覆盖掉第一进度之后的位置,从左往右是拖不出来N.5颗星星的,这样评分效果就不完整)
- 属性参数
代码部分(java)
监听器
ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { Log.e("------------","当前的评价等级:"+rating); }});
阅读全文
0 0
- RatingBar评分控件使用笔记
- Android星星评分控件RatingBar的使用
- Android星星评分控件RatingBar的使用
- Android星星评分控件RatingBar的使用
- 安卓RatingBar的使用(评分控件)
- 自定义RatingBar 评分控件
- Android RatingBar评分控件
- Android RatingBar(评分控件)
- Android RatingBar评分控件
- 【Android 开发】:UI控件之 RatingBar 评分控件的使用
- 使用RatingBar 评分组件
- 2-1UI组件RatingBar评分控件使用
- 高级控件之星际评分条(RatingBar)的使用
- Android自定义星星评分控件代替RatingBar的使用
- Android 自定义RatingBar评分控件
- Android自定义RatingBar(评分控件)
- Android 自定义 RatingBar (评分控件)
- Kotlin-->自定义评分控件RatingBar
- 走向云计算之数据收集系统Flume
- 读取指定目录下的所有文件名,并把它存储到本地
- mysql技巧之数据去重并记录总数
- 知道创宇研发技能表v3.1
- AD10利用SMART PDF打印PCB文件(供华龙焊板子参考)
- RatingBar评分控件使用笔记
- hello world
- 1004. 无环图
- 美团CodeM 初赛 A伦 合并回文子串 区间dp
- Git 版本控制
- 环信透传消息
- sql,select拼接||,小数,前面的0不见了
- C语言基本数据类型
- mongodb知识总结