Android RatingBar类

来源:互联网 发布:小海淘宝助手超级版 编辑:程序博客网 时间:2024/06/07 01:11

Android RatingBar类

RatingBar类用于显示星条。

1、简单用法

android:numStars指定星星个数
android:rating指定默认点亮的星星星星个数
android:stepSize指定步进数,1,0.5是常用值
<RatingBarandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:numStars="6"android:stepSize="0.5"android:rating="2" />

2、监听器

通过setOnRatingBarChangeListener的回调方法实现RatingBar的拖动事件。
onRatingChanged:进度发生改变时会触发 

3、系统样式

采用android:Theme.Holo.Light的主题,默认样式是@android:style/Widget.Holo.Light.RatingBar
还有small和Indicator两种可以选择。


android:Theme.Holo下的三种样式


4.自定义样式

系统样式中定义了以下内容,修改progressDrawable和indeterminateDrawable,选择合适的minHeight和maxHeight,就能定义自己的颜色

<style name="Widget.Holo.Light.RatingBar.Small" parent="Widget.RatingBar.Small"><item name="progressDrawable">@drawable/ratingbar_small_holo_light</item><item name="indeterminateDrawable">@drawable/ratingbar_small_holo_light</item><item name="minHeight">16dip</item><item name="maxHeight">16dip</item></style><style name="Widget.RatingBar.Small"><item name="indeterminateOnly">false</item><item name="progressDrawable">@drawable/ratingbar_small</item><item name="indeterminateDrawable">@drawable/ratingbar_small</item><item name="minHeight">14dip</item><item name="maxHeight">14dip</item><item name="thumb">@null</item><item name="isIndicator">true</item></style>
在ratingbar_full_holo_light中定义了背景和进度
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">    <item android:id="@+android:id/background" android:drawable="@android:drawable/rate_star_small_off_holo_light" />    <item android:id="@+android:id/secondaryProgress" android:drawable="@android:drawable/rate_star_small_half_holo_light" />    <item android:id="@+android:id/progress" android:drawable="@android:drawable/rate_star_small_on_holo_light" /></layer-list>
三张图片分别是


原创粉丝点击