android评分条RatingBar自定义设置

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,也就是为选中时的图案。

你可能感兴趣的:(RatingBar)