使用Ratingbar做一個完成度的評定顯示:
系統(tǒng)默認的Ratingbar顏色并不合適使用。
此處需要自定義。
參考網(wǎng)上一些文章睦刃,寫一下總結(jié)。
一十酣、設置RatingBar顯示的資源圖片
在drawable文件加下新建一個layout-list類的文件:
<?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/star_disable" />
<item
android:id="@android:id/progress"
android:drawable="@drawable/star_enable" />
<--
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/star_enable" />-->
</layer-list>
屬性說明:此文件用于設置不同的狀態(tài)下的RatingBar的圖片樣式
- background:默認的顯示是RatingBar的樣式(ps:比如一顆灰色的星星)涩拙;
- secondaryProgress:與用戶交互式(選中評價等級)時的過度樣式,此處因為不與用戶做交互因此注釋耸采;
- progress:當選中這的等級的時候RatingBar的樣式兴泥。
二、設置需要的RatingBar的樣式虾宇。
此處可以設置在Style文件中也可以直接在使用RatingBar時設置搓彻。
(1)設置每一星星的背景:
android:progressDrawable="@drawable/rating_bar_bg"
ps:此處使用剛剛寫的layout-list文件,需注意的是使用的是progressDrawable屬性而不是Drawable嘱朽;drawable設置的是整個RatingBar的背景旭贬,而progressDrawable設置的是RatingBar中單個圖像不同狀態(tài)的背景。
(2)設置時候與用戶交互(用戶是否可以點擊和選中等級搪泳,即禁止用戶點擊RatingBar時修改RatingBar的值)
android:isIndicator="true"
<!--為true時不可交互稀轨,false時可交互。-->
(3)設置總共的等級總數(shù):
android:numStars="5"
(4)minHeight和minWidth屬性:
android:minHeight="30px"
android:minWidth="30px"
PS:此處注意岸军,在自定義RatingBar時使用自己的圖片會發(fā)現(xiàn)出現(xiàn)拉伸的問題奋刽,則將圖片的真實大小設置到這兩個屬性上課解決問題。
(5)設置顯示當前的評價等級:
設置rating屬性來顯示凛膏。