本节引言:
1.RatingBar基本使用:先来看看5.0的原生SeekBar长什么样: ——相关属性: android:isIndicator:是否用作指示,用户无法更改,默认false 除了上面这些,还有两种样式供我们选择咧,但是不建议使用,因为这两种样式都好丑...
他们分别是: ——事件处理: 只需为RatingBar设置OnRatingBarChangeListener事件,然后重写下onRatingChanged()方法即可! 实现代码如下: public class MainActivity extends AppCompatActivity { private RatingBar rb_normal; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rb_normal = (RatingBar) findViewById(R.id.rb_normal); rb_normal.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { Toast.makeText(MainActivity.this, "rating:" + String.valueOf(rating), Toast.LENGTH_LONG).show(); } }); } } 2.定制环节:
接下来和前面的SeekBar一样编写一个layer-list的文件: ratingbar_full.xml: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas./apk/res/android"> <item android:id="@android:id/background" android:drawable="@mipmap/ic_rating_off1" /> <item android:id="@android:id/secondaryProgress" android:drawable="@mipmap/ic_rating_off1" /> <item android:id="@android:id/progress" android:drawable="@mipmap/ic_rating_on1" /> </layer-list> 接着在style.xml中自定义下RatingBar Style,在style.xml加上这个: <style name="roomRatingBar" parent="@android:style/Widget.RatingBar"> <item name="android:progressDrawable">@drawable/ratingbar_full</item> <item name="android:minHeight">24dip</item> <item name="android:maxHeight">24dip</item> </style> 最后在布局中的Ratingbar组件设置下: <RatingBar android:id="@+id/rb_normal" style="@style/roomRatingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 运行效果图: 好的,效果还可以哈,至于间距问题,就需要对图片坐下处理了,就是需要切图的时候在图片左右预留点空格~! 本节小结:好的,关于RatingBar的使用就到这里,和前面的SeekBar其实大同小异,蛮轻松的~嗯,谢谢~ |
|
来自: 小飞苑 > 《android基础》