日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RatingBar的自定义

發(fā)布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RatingBar的自定义 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

RatingBar的實現(xiàn)其實是很簡單的,只要在xml布局文件中寫就行了

范例:

在主布局文件中,只需要寫<RatingBar/>即可

main.xml

1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 tools:context="com.jorlee.ratingbar.MainActivity" > 6 7 <RatingBar 8 android:id="@+id/rating_bar" 9 style="@style/myRatingBar" 10 android:layout_height="wrap_content" 11 android:layout_width="wrap_content" 12 android:numStars="5" 13 android:stepSize="0.1" 14 android:rating="2.5"> 15 </RatingBar> 16 17 18 </RelativeLayout>

RatingBar的layout_height和layout_width一般都設(shè)置成wrap_content ,避免圖片顯示不全的問題

numStars是星星顯示的個數(shù),即評分級數(shù)

stepSize可以理解為一個評分單位,這里設(shè)置為0.1就是最小可以評0.1顆星星

rating是當(dāng)前評分的星星顆數(shù),這里設(shè)置為2.5就是當(dāng)前有兩個半星星被評了分

其中,在main.xml文件中的第9行,style就是自定義RatingBar的關(guān)鍵之處,因此,需要在res/values目錄下寫一個xml文件

RatingBar.xml

1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 <style name="myRatingBar" parent="@android:style/Widget.RatingBar"> 4 ????????<item name="android:progressDrawable">@drawable/rating_bar</item> 5 ????????<item name="android:minHeight">44dip</item> 6 ????????<item name="android:maxHeight">44dip</item> 7 ????</style> 8 9 </resources>

其中style name ="myRatingBar"里面的name "myRatingBar"要對應(yīng)于main.xml文件中的style="@style/myRatingBar"

<item name="android:minHeight">44dip</item>

<item name="android:maxHeight">44dip</item>

這兩個是設(shè)置RatingBar的大小的

<item name="android:progressDrawable">@drawable/rating_bar</item>

這個是設(shè)置RatingBar樣式的,默認(rèn)的RatingBar是星星的圖片,如果想用自己的圖片的話,就在res/drawable目錄下寫一個rating_bar.xml文件

1 <?xml version="1.0" encoding="UTF-8"?> 2 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 3 4 <item android:id="@+android:id/background" 5 android:drawable="@drawable/pre_unpre"></item> 6 7 <item android:id="@+android:id/secondaryProgress" 8 android:drawable="@drawable/empty"> 9 10 </item> 11 12 <item android:id="@+android:id/progress" 13 android:drawable="@drawable/all"> 14 </item> 15 16 </layer-list>

secondaryProgress設(shè)置為沒有評分時的圖片

progress設(shè)置為評分之后的效果圖片

系統(tǒng)會自動生成中間過程的效果的圖片

在background里也可以設(shè)置背景效果,這里我寫了一個點擊RatingBar發(fā)生變化的效果

pre_unpre.xml

1 <?xml version="1.0" encoding="UTF-8"?> 2 <selector xmlns:android="http://schemas.android.com/apk/res/android"> 3 4 <item android:state_pressed="true" 5 android:drawable="@drawable/bg710"> 6 </item> 7 8 <item android:state_pressed="false" 9 android:drawable="@drawable/empty"></item> 10 </selector>

至此,RatingBar的自定義就寫完了。

貼上效果圖:(因為圖片是隨便找的,而且找的也是星星,很丑,勿噴)

轉(zhuǎn)載于:https://www.cnblogs.com/joeleedreamer/p/4662776.html

總結(jié)

以上是生活随笔為你收集整理的RatingBar的自定义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。