RatingBar是我们常用来显示评分或等级的控件,但系统的背景显得的单调,因此我们想把他做的个性一点。用更好的图片替换系统默认图片。
上边的是系统的,下边的是换过自己喜欢的图片后的(我也没有什么好看的图片,就随便选了两个图片,也不怎么好看。。。)
做法很简单:
<RatingBar
android:id="@+id/ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"/>
<RatingBar
android:id="@+id/ratingBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/ratingbar"
android:layout_below="@+id/ratingbar"
android:layout_marginTop="42dp"
android:numStars="5"
style="@style/MyStarRatingBar" />
主要是通过修改style属性。下边是MyStarRatingBar的代码
<style name="MyStarRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/rating_bar</item>
<item name="android:minHeight">30dip</item>
<item name="android:maxHeight">30dip</item>
</style>
再然后是rating_bar的代码,在drawable下:
<?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/kongxing"></item>
<item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/kongxing"></item>
<item android:id="@+android:id/progress" android:drawable="@drawable/manxing"></item>
</layer-list>
其中kongxing代表没选中的图片,manxing代表选中后的tup
参考:http://kozyr.zydako.net/2010/05/23/pretty-ratingbar/