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/