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