Android RatingBar 评价栏 星星 大小 样式 设置

Android系统自带RatingBar,无法直接指定宽高,不然会出现无法全部显示的情况,使用系统自带的两个主题
?android:attr/ratingBarStyleIndicator


?android:attr/ratingBarStyleSmall

也只能做到固定小版或者大版。

按照以下几个步骤 可以做到自控ratingbar 宽高。


第一步 准备选中何为选中的两种星星,大小相同。

Step-1. You need your own rating stars in res/drawable ...

A full star

Empty star


第二部 为星星定义选中与非选中状态

Step-2 In res/drawable you need ratingstars.xml as follow ...

<?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/star_empty" />
    <item android:id="@android:id/secondaryProgress"
          android:drawable="@drawable/star_empty" />
    <item android:id="@android:id/progress"
          android:drawable="@drawable/star" />
</layer-list>


第三步,为Ratingbar设置style,此处开始正式指定高度。

Step-3 In res/values you need styles.xml as follow ...

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="foodRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/ratingstars</item>
        <item name="android:minHeight">22dip</item>
        <item name="android:maxHeight">22dip</item>
    </style>
</resources>

第四部,就可以直接使用了

Step-4 In your layout ...

<RatingBar
      android:id="@+id/rtbProductRating"
      android:layout_height="wrap_content"
      android:layout_width="wrap_content"
      android:numStars="5"
      android:rating="3.5"
      android:isIndicator="false"
      style="@style/foodRatingBar"    
/> 


http://blog.csdn.net/fff2666/article/details/50498238

猜你喜欢

转载自blog.csdn.net/sky_castle/article/details/71107565
今日推荐