Android 关于RatingBar评分条

RatingBar评分条系统UI控件

main.xml文件写:

   <RatingBar
        android:id="@+id/ratingbar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dip"
        android:isIndicator="true"
        android:numStars="5"
        android:rating="5" >
    </RatingBar>


效果渣渣:Android 关于RatingBar评分条


android:numStars="5"设置显示的星星数量为5; android:rating="5"设置选中的数量为5.

android:isIndicator="true"设置选中时不改变它的状态


                                自定义RatingBar评分条


上面RatingBar加个style属性,去掉android:isIndicator="true"属性

1.main.xml 写下:


<RatingBar
        android:id="@+id/ratingbar"
       
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dip"
        android:numStars="5"
        android:rating="5" >
    </RatingBar>


2.values目录下MyRatingBar.xml 编写:


<?xml version="1.0" encoding="utf-8"?>

<resources>

<style name="MyRatingBar" parent="@android:style/Widget.RatingBar"> 

<item name="android:progressDrawable">@drawable/select_rating_bar</item>

<item name="android:minHeight">16dip</item>

<item name="android:maxHeight">16dip</item>

</style>

</resources>


parent="@android:style/Widget.RatingBar"继承系统RatingBar的样式

<item name="android:minHeight">16dip</item> <item name="android:maxHeight">16dip</item>控制该组件的最大和最小高度


3.drawable目录下/select_rating_bar.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/luck">
    </item>
    <item
        android:id="@+android:id/secondaryProgress"
        android:drawable="@drawable/secondxing">
    </item>
    <item
        android:id="@+android:id/progress"
        android:drawable="@drawable/xing">
    </item>

</layer-list>


这样就设置了一级进度背景图片(选中的图片) 二级进度背景图片(没选中的图片) 和背景图片 ,应用运行时系统会重绘这些组件


推荐 :较全面的实例:  http://www.apkbus.com/android-51346-1-1.html