RatingBar為評分條控制項,預設效果為若干個綠色的星星,如果想將其換成其他自訂圖片就要自訂它的style。首先是布局檔案:
Java代碼
- <RatingBar android:id="@+id/app_ratingbar" style="@style/MyRatingBar"
- android:layout_marginTop="4dip" android:layout_width="wrap_content"
- android:layout_height="wrap_content" android:numStars="5"
- android:isIndicator="true" android:rating="5" />
其中android:numStars="5"設定顯示的星星數量為5; android:rating="5"設定選中的數量為5,也就是全部選中
android:isIndicator="true"設定評分條只顯示結果無法通過點擊改變選中狀態。
然後在res/values目錄下建立styles.xml檔案 代碼:
Java代碼
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <style name="MyRatingBar" parent="@android:style/Widget.RatingBar">
- <item name="android:progressDrawable">@drawable/food_rating_bar_full</item>
- <item name="android:minHeight">15dip</item>
- <item name="android:maxHeight">15dip</item>
- </style>
- </resources>
android:progressDrawable為評分條圖案。接下來在res/drawable目錄下建立food_rating_bar_full.xml檔案
代碼:
Java代碼
- <?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/rating" />
- <item android:id="@+android:id/secondaryProgress"
- android:drawable="@drawable/rating" />
- <item android:id="@+android:id/progress"
- android:drawable="@drawable/rating_show" />
- </layer-list>
<item android:id="@+android:id/progress" android:drawable="@drawable/rating_show" />為設定評分圖案為 rating_show.png,也就是選中時的圖案;
<item android:id="@+android:id/background" android:drawable="@drawable/rating" /> 為設定背景圖案為 rating.png,也就是為選中時的圖案。