1.RatingBar基本使用:
android:isIndicator:是否用作指示,用户无法更改,默认false
android:numStars:显示多少个星星,必须为整数
android:rating:默认评分值,必须为浮点数
android:stepSize: 评分每次增加的值,必须为浮点数
事件处理: 只需为RatingBar设置OnRatingBarChangeListener事件,然后重写下onRatingChanged()方法即可!
2.定制环节:
自定义替换提醒☆图片,准备两个图片添加到系统中去:如下:
在drewable下定义一个图片资源ratingbar_drawable.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/unselect">
</item>
<item
android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/unselect">
</item>
<item
android:id="@+android:id/progress"
android:drawable="@drawable/selected">
</item>
</layer-list>
之后再styles.xml下添加一个标签,这个style继承父style Widget.RatingBar
<style name="roomRatingBar" parent="@android :style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/ratingbar_drawable</item>
<item name="android:minHeight">48dip</item>
<item name="android:maxHeight">48dip</item>
</style>
之后定义布局文件资源ratingbar.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<RatingBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/roomRatingBar"
android:layout_marginLeft="10dip"
android:id="@+id/ratingbar"
android:rating="1.5"
android:stepSize="0.15"
android:numStars="8"
/>
</LinearLayout>
运行后的效果: