Android開發(fā)手冊RatingBar星級評分控件實例
??實踐過程
??初識
RatingBar是基于SeekBar和ProgressBar的擴展,用星型來顯示等級評定。
通常應(yīng)用場景是在用戶評價那,如淘寶評價,打車訂餐評價等等。
使用RatingBar的默認大小時,用戶可以觸摸/拖動或使用鍵來設(shè)置評分,它有兩種樣式(小風格用ratingBarStyleSmall,大風格用ratingBarStyleIndicator),其中大的只適合指示,不適合于用戶交互。
??基本屬性
【android:isIndicatorRatingBar】是否為指示器,為true時,用戶將無法交互操作,默認為false。
【android:numStars】顯示的星型數(shù)量,必須是一個整形值,像“50”,雖然可以設(shè)置很大,但一般都是5-10個星星即可。
【android:rating】設(shè)置默認的評分。
【android:stepSize】評分每次增加的值。建議大于0小于等于1之間最合適。
其中內(nèi)置了三個樣式:
style="?attr/ratingBarStyle":默認樣式
style="?android:attr/ratingBarStyleSmall":小樣式
style="?android:attr/ratingBarStyleIndicator":指示器樣式
但是使用起來感覺不好看,如下示例:

<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" />
??點擊事件
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: 當前點擊的評分:" + rating);
}
});
??自定義樣式
<RatingBar
android:layout_width="wrap_content"
android:progressDrawable="@drawable/ratingbar_bg"
android:layout_height="wrap_content" />
ratingbar_bg.xml

如上我使用的是三個圖片。
【@android:id/background】屬性為默認的圖,
【@android:id/progress】為選中后的圖,
【@android:id/secondaryProgress】為選中了一半的圖。

但這時候又出現(xiàn)問題了,如果只修改寬高屬性【layout_width】和【layout_height】為某個固定值,你會發(fā)現(xiàn)評分組件效果展示又不對了,總是填充滿整個大小。
寬高屬性要一直是【wrap_content】
但這還沒完,在不同的分辨率上可能出現(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開發(fā)手冊RatingBar星級評分控件實例的詳細內(nèi)容,更多關(guān)于Android開發(fā)RatingBar評分控件的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android convinientbanner頂部廣告輪播控件使用詳解
這篇文章主要為大家詳細介紹了Android convinientbanner頂部廣告輪播控件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
Android使用自定義屬性實現(xiàn)圖片自動播放滾動的功能
這篇文章主要介紹了Android使用自定義屬性實現(xiàn)圖片自動播放滾動的功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
Android design包自定義tablayout的底部導(dǎo)航欄的實現(xiàn)方法
這篇文章主要介紹了Android design包自定義tablayout的底部導(dǎo)航欄的實現(xiàn)方法,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-01-01
Android實現(xiàn)Bitmap位圖旋轉(zhuǎn)效果
這篇文章主要為大家詳細介紹了Android實現(xiàn)Bitmap位圖旋轉(zhuǎn)效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
Android 如何獲取手機總內(nèi)存和可用內(nèi)存等信息
這篇文章主要介紹了Android系統(tǒng)檢測程序內(nèi)存占用各種方法,并對內(nèi)存信息的詳細介紹,需要的朋友可以參考下2016-07-07
Android開發(fā)筆記之:在ImageView上繪制圓環(huán)的實現(xiàn)方法
本篇文章是對Android中在ImageView上繪制圓環(huán)的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05

