本文主要是介绍RatingBar 的使用 以及自定义的RatingBar,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于 RatingBar1. RatingBar (星级评分条)和SeekBar 是十分相似的,他们有相同的父类 AbsSeekBar.他们允许用户通过拖动来改变进度.而 RatingBar 的最大的区别就是通过星星来表示进度.
2.下图是 RatingBar的一些常见的XML属性:
具体参照: http://wear.techbrood.com/reference/android/widget/RatingBar.html
3. 实例代码:
定义一个RatingBar
<RatingBar android:id="@+id/rb" android:layout_width="wrap_content" android:layout_height="wrap_content" />对应的java 代码:public class StarActivity extends BaseActivity {private RatingBar bar;ImageView image;SeekBar seek;@Override protected void initContentView(Bundle savedInstanceState) {setContentView(R.layout.activity_star_layout);}@Override protected void initView() {bar = findview(R.id.ratBar);image = findview(R.id.image);}@Override protected void initData() {bar.setOnRatingBarChangeListener(new RatingBarChangeListenerImpl());bar.setNumStars(5); // 设置 星星的总个数bar.setRating(2); // 设置星级评分条的默认星级bar.setStepSize(0.5f); // 设置每次需要改变的星级}private class RatingBarChangeListenerImpl implements OnRatingBarChangeListener {@Override public void onRatingChanged(RatingBar ratingBar, float v, boolean b) {Toast.makeText(StarActivity.this, "点击星星===", Toast.LENGTH_LONG).show();Log.i("SUO", "现在的等级:" + v + ",:用户是否触发 点击: " + b);}} }最后在星星上进行拖动可以看到星级的变化.
通过 OnRatingBarChangeListener 来设置监听器,监听星级的改变.
参照下图:
4. 自定义星星的图案
① 在drawable 文件加下创建文件 dr_myratingbar.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/b2" /><item android:id="@android:id/progress" android:drawable="@drawable/b1" /> </layer-list>② styles.xml下添加一个标签<style name="MyRatingBar" parent="@android:style/Widget.RatingBar"><item name="android:progressDrawable">@drawable/dr_myratingbar</item><item name="android:minHeight">45dip</item><item name="android:maxHeight">45dip</item> </style>③ 在布局中引入即可:<RatingBar android:id="@+id/ratBar" style="@style/MyRatingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:isIndicator="false" />
最后是图片:
项目中可能会用到,所以提前先看一下......
自定义rating的实现 参考链接:
http://blog.csdn.net/linglongxin24/article/details/52918701
这篇关于RatingBar 的使用 以及自定义的RatingBar的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!