Android開(kāi)發(fā)手冊(cè)RatingBar星級(jí)評(píng)分控件實(shí)例
??實(shí)踐過(guò)程
??初識(shí)
RatingBar是基于SeekBar和ProgressBar的擴(kuò)展,用星型來(lái)顯示等級(jí)評(píng)定。
通常應(yīng)用場(chǎng)景是在用戶評(píng)價(jià)那,如淘寶評(píng)價(jià),打車(chē)訂餐評(píng)價(jià)等等。
使用RatingBar的默認(rèn)大小時(shí),用戶可以觸摸/拖動(dòng)或使用鍵來(lái)設(shè)置評(píng)分,它有兩種樣式(小風(fēng)格用ratingBarStyleSmall,大風(fēng)格用ratingBarStyleIndicator),其中大的只適合指示,不適合于用戶交互。
??基本屬性
【android:isIndicatorRatingBar】是否為指示器,為true時(shí),用戶將無(wú)法交互操作,默認(rèn)為false。
【android:numStars】顯示的星型數(shù)量,必須是一個(gè)整形值,像“50”,雖然可以設(shè)置很大,但一般都是5-10個(gè)星星即可。
【android:rating】設(shè)置默認(rèn)的評(píng)分。
【android:stepSize】評(píng)分每次增加的值。建議大于0小于等于1之間最合適。
其中內(nèi)置了三個(gè)樣式:
style="?attr/ratingBarStyle":默認(rèn)樣式
style="?android:attr/ratingBarStyleSmall":小樣式
style="?android:attr/ratingBarStyleIndicator":指示器樣式
但是使用起來(lái)感覺(jué)不好看,如下示例:
<RatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RatingBar style="?android:attr/ratingBarStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:isIndicator="false" android:numStars="5" android:rating="4" android:stepSize="1" /> <RatingBar style="?android:attr/ratingBarStyleIndicator" android:layout_width="wrap_content" android:layout_height="wrap_content" android:isIndicator="false" android:numStars="5" android:rating="3" android:stepSize="1" /> <androidx.appcompat.widget.AppCompatRatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" />
??點(diǎn)擊事件
RatingBar ratingBar = findViewById(R.id.rating); ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { Log.e("TAG", "onRatingChanged: 當(dāng)前點(diǎn)擊的評(píng)分:" + rating); } });
??自定義樣式
<RatingBar android:layout_width="wrap_content" android:progressDrawable="@drawable/ratingbar_bg" android:layout_height="wrap_content" />
ratingbar_bg.xml
如上我使用的是三個(gè)圖片。
【@android:id/background】屬性為默認(rèn)的圖,
【@android:id/progress】為選中后的圖,
【@android:id/secondaryProgress】為選中了一半的圖。
但這時(shí)候又出現(xiàn)問(wèn)題了,如果只修改寬高屬性【layout_width】和【layout_height】為某個(gè)固定值,你會(huì)發(fā)現(xiàn)評(píng)分組件效果展示又不對(duì)了,總是填充滿整個(gè)大小。
寬高屬性要一直是【wrap_content】
但這還沒(méi)完,在不同的分辨率上可能出現(xiàn)高度的bug:drawable圖片被垂直拉伸
所以我們按照上面再改改:
<RatingBar android:layout_width="match_parent" android:layout_height="wrap_content" style="@style/RatingBar_CustomDrawable" />
<style name="RatingBar_CustomDrawable" parent="@android:style/Widget.Holo.RatingBar.Indicator"> <item name="android:progressDrawable">@drawable/ratingbar_bg</item> <item name="android:minHeight">50dp</item> <item name="android:maxHeight">50dp</item> </style>
固定死高度即可。
以上就是Android開(kāi)發(fā)手冊(cè)RatingBar星級(jí)評(píng)分控件實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于Android開(kāi)發(fā)RatingBar評(píng)分控件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Android實(shí)現(xiàn)跟隨手指拖動(dòng)并自動(dòng)貼邊的View樣式(實(shí)例demo)
- 使用PlatformView將?Android?控件view制作成Flutter插件
- Android開(kāi)發(fā)自定義實(shí)時(shí)圖表控件實(shí)現(xiàn)示例
- Android開(kāi)發(fā)手冊(cè)TextView控件及陰影效果實(shí)現(xiàn)
- Android開(kāi)發(fā)手冊(cè)自定義Switch開(kāi)關(guān)按鈕控件
- Android開(kāi)發(fā)自定義雙向SeekBar拖動(dòng)條控件
- Android?控件自動(dòng)貼邊實(shí)現(xiàn)實(shí)例詳解
相關(guān)文章
Android中Glide加載到RelativeLayout背景圖方法示例
Glide框架大家應(yīng)該都很熟悉,我們可以使用Glide加載網(wǎng)絡(luò)圖片、加載gif圖片,使用簡(jiǎn)單。下面這篇文章主要給大家介紹了關(guān)于Android中Glide加載到RelativeLayout背景圖的相關(guān)資料,需要的朋友可以參考下。2017-12-12android電源信息查看(電量、溫度、電壓)實(shí)例代碼
這篇文章主要介紹了android電源信息查看方法,以實(shí)例形式較為詳細(xì)的分析了Android實(shí)現(xiàn)電源電量、電壓、溫度等信息查看的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android 實(shí)現(xiàn)IOS 滾輪選擇控件的實(shí)例(源碼下載)
這篇文章主要介紹了 Android 實(shí)現(xiàn)IOS 滾輪選擇控件的實(shí)例(源碼下載)的相關(guān)資料,需要的朋友可以參考下2017-03-03Android編程之PopupWindow隱藏及顯示方法示例(showAtLocation,showAsDropDown
這篇文章主要介紹了Android編程之PopupWindow隱藏及顯示方法,結(jié)合實(shí)例形式分析了showAtLocation及showAsDropDown方法實(shí)現(xiàn)PopupWindow控件隱藏及顯示功能相關(guān)操作技巧,需要的朋友可以參考下2017-02-02monkeyrunner環(huán)境搭建及實(shí)例教程(3)
這篇文章主要為大家詳細(xì)介紹了monkeyrunner環(huán)境搭建及實(shí)例教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android 自定義組件衛(wèi)星菜單的實(shí)現(xiàn)
這篇文章主要介紹了Android 自定義組件衛(wèi)星菜單的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2017-07-07android?studio后臺(tái)服務(wù)使用詳解
這篇文章主要為大家詳細(xì)介紹了android?studio后臺(tái)服務(wù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Android編程實(shí)現(xiàn)文字倒影效果的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)文字倒影效果的方法,涉及Android布局與圖形繪制相關(guān)操作技巧,需要的朋友可以參考下2017-03-03Android xmlns 的作用及其自定義實(shí)例詳解
這篇文章主要介紹了 Android xmlns 的作用及其自定義實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06