android评分条RatingBar自定义设置
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,也就是为选中时的图案。