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

来源:互联网 发布:怎样加入淘宝开网店 编辑:程序博客网 时间:2024/06/14 05:14

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"    />  

1 4
原创粉丝点击