java五星好评点评器_亲,麻烦给个五星好评!—RatingBar
引言
上一篇的CheckBox已經(jīng)讓大家越來(lái)越接近實(shí)戰(zhàn)演練了,本章我們繼續(xù)分享干貨給大家,今天介紹一個(gè)實(shí)用的UI控件RatingBar(星級(jí)評(píng)分條),對(duì)于使用過(guò)電商APP(某東,某寶等)的小伙伴們來(lái)說(shuō),應(yīng)該不會(huì)陌生。在對(duì)商品進(jìn)行評(píng)價(jià)時(shí),經(jīng)常會(huì)出現(xiàn)五星好評(píng)的評(píng)分樣式,這個(gè)五星評(píng)分樣式就是今天的主角RatingBar。
簡(jiǎn)介
RatingBar:用于評(píng)分和展示的星級(jí)評(píng)分控件。
public class RatingBar extendsAbsSeekBar
?
java.lang.Object
? android.view.View
? android.widget.ProgressBar
? android.widget.AbsSeekBar
? android.widget.RatingBar
由上面的繼承結(jié)構(gòu)可以看出,RatingBar是基于SeekBar和ProgressBar的擴(kuò)展。
基本使用
?
android:layout_width="wrap_content"android:layout_height="wrap_content" />?
在項(xiàng)目里直接放一個(gè)RatingBar,看下運(yùn)行效果:
可以看出,系統(tǒng)給我們提供了一套默認(rèn)的樣式與代碼邏輯,如果想實(shí)現(xiàn)我們自己的樣式邏輯,可在此基礎(chǔ)上進(jìn)行修改。
XML常用屬性
android:isIndicator:是否用作指示,即用戶是否可點(diǎn)擊更改,默認(rèn)false(可點(diǎn)擊)。
android:numStars:顯示多少個(gè)星星,必須為整數(shù)。
android:rating:默認(rèn)評(píng)分值,必須為浮點(diǎn)數(shù)。
android:stepSize: 評(píng)分每次增加的值,必須為浮點(diǎn)數(shù)。
除了上面這些,系統(tǒng)還為我們提供了三種樣式,供我們選擇:
使用示例:
上面介紹系統(tǒng)提供的三種樣式,主要是改變星星的大小,如果需要使用其他樣式,還需要進(jìn)行自定義,方式如下:
1.在drawable下編寫(xiě)一個(gè)layer-list文件ratingbar_layer。
注意:drawable中引用的圖片,需要根據(jù)設(shè)計(jì)圖尺寸,放在不同屏幕密度的drawable文件夾下,用于屏幕適配。
2.在values文件夾下styles.xml文件中添加style樣式。
@drawable/ratingbar_layer
24dp
24dp
3.在xml布局里進(jìn)行使用。
android:id="@+id/ratingbar"style="@style/my_ratingBar"android:layout_width="wrap_content"android:layout_height="wrap_content"android:numStars="5"android:rating="3"android:stepSize="1" />
監(jiān)聽(tīng)處理
很多時(shí)候,我們還需要對(duì)星星的選擇事件進(jìn)行監(jiān)聽(tīng),獲取用戶選擇的星星數(shù)量,這就需要我們?cè)诖a中進(jìn)行監(jiān)聽(tīng)操作。
RatingBar ratingBar =findViewById(R.id.ratingbar);//星星變化監(jiān)聽(tīng)
ratingBar.setOnRatingBarChangeListener(newRatingBar.OnRatingBarChangeListener() {
@Overridepublic void onRatingChanged(RatingBar ratingBar, float rating, booleanfromUser) {
Toast.makeText(MainActivity.this, "rating==" +String.valueOf(rating), Toast.LENGTH_SHORT).show();
}
});
結(jié)語(yǔ)
以上就是RatingBar的使用介紹,是不是so easy,趕快在項(xiàng)目中使用吧!也麻煩各位小伙伴們以后看完我們的文章順手點(diǎn)個(gè)贊吧~ 如果小伙伴想學(xué)習(xí)更多知識(shí)或者快速學(xué)習(xí)進(jìn)階,可以加入我們的WXGZH:下碼看花一起探討~
總結(jié)
以上是生活随笔為你收集整理的java五星好评点评器_亲,麻烦给个五星好评!—RatingBar的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 怎样选择基金赎回时间 根据这几点判断
- 下一篇: VS Code的Error: Runni