RatingBar为评分条控件,默认效果为若干个绿色的星星,如果想将其换成其他自定义图片就要自定义它的style。首先是布局文件:
- <RatingBar android:id="@+id/app_ratingbar" style="@style/MyRatingBar"
- android:layout_marginTop="4dip" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:numStars="5"
- android:isIndicator="true" android:rating="5" />
其中android:numStars="5"设置显示的星星数量为5; android:rating="5"设置选中的数量为5,也就是全部选中
android:isIndicator="true"设置评分条只显示结果无法通过点击改变选中状态。
然后在res/values目录下建立styles.xml文件 代码:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <style name="MyRatingBar" parent="@android:style/Widget.RatingBar">
- <item name="android:progressDrawable">@drawable/food_rating_bar_full</item>
- <item name="android:minHeight">15dip</item>
- <item name="android:maxHeight">15dip</item>
- </style>
- </resources>
android:progressDrawable为评分条图案。接下来在res/drawable目录下建立food_rating_bar_full.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/rating" />
- <item android:id="@+android:id/secondaryProgress"
- android:drawable="@drawable/rating" />
- <item android:id="@+android:id/progress"
- android:drawable="@drawable/rating_show" />
- </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,也就是为选中时的图案。