日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

2.3.9 RatingBar(星級評分條) | 菜鳥教程

 小飛苑 2017-01-04

本節(jié)引言:

上一節(jié)的SeekBar是不是很輕松咧,本節(jié)我們學(xué)的這個(gè)RatingBar(星級評分條)也非常簡單,相信在某寶, 買過東西的對這個(gè)應(yīng)該不陌生,收到賣家的包裹,里面很多時(shí)候會有個(gè)小紙片,五星好評返還多少元這樣, 而評分的時(shí)候就可以用到我們這個(gè)星級評分條了~先來瞅瞅官方文檔 官方文檔:RatingBar 我們可以看到,這玩意和SeekBar的類結(jié)構(gòu)是一樣的,也是ProgressBar的子類:

也就是說他同樣有用ProgressBar的相關(guān)屬性,接下來我們來探究RatingBar特有的屬性!


1.RatingBar基本使用:

先來看看5.0的原生SeekBar長什么樣:

——相關(guān)屬性:

android:isIndicator:是否用作指示,用戶無法更改,默認(rèn)false
android:numStars:顯示多少個(gè)星星,必須為整數(shù)
android:rating:默認(rèn)評分值,必須為浮點(diǎn)數(shù)
android:stepSize: 評分每次增加的值,必須為浮點(diǎn)數(shù)

除了上面這些,還有兩種樣式供我們選擇咧,但是不建議使用,因?yàn)檫@兩種樣式都好丑... 他們分別是:
style="?android:attr/ratingBarStyleSmall"
style="?android:attr/ratingBarStyleIndicator"

——事件處理: 只需為RatingBar設(shè)置OnRatingBarChangeListener事件,然后重寫下onRatingChanged()方法即可!

實(shí)現(xiàn)代碼如下:

public class MainActivity extends AppCompatActivity {
    private RatingBar rb_normal;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rb_normal = (RatingBar) findViewById(R.id.rb_normal);
        rb_normal.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                Toast.makeText(MainActivity.this, "rating:" + String.valueOf(rating),
                        Toast.LENGTH_LONG).show();
            }
        });
    }
}

2.定制環(huán)節(jié):

嘿嘿,我們很多時(shí)候不會用星星作為評分標(biāo)準(zhǔn)的,我們來改改唄~ 把星星改成其他的,比如笑臉,兩個(gè)素材:

ic_rating_off1 ic_rating_on1

接下來和前面的SeekBar一樣編寫一個(gè)layer-list的文件:

ratingbar_full.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas./apk/res/android">
    <item android:id="@android:id/background"
        android:drawable="@mipmap/ic_rating_off1" />
    <item android:id="@android:id/secondaryProgress"
        android:drawable="@mipmap/ic_rating_off1" />
    <item android:id="@android:id/progress"
        android:drawable="@mipmap/ic_rating_on1" />
</layer-list>  

接著在style.xml中自定義下RatingBar Style,在style.xml加上這個(gè):

<style name="roomRatingBar" parent="@android:style/Widget.RatingBar">
        <item name="android:progressDrawable">@drawable/ratingbar_full</item>
        <item name="android:minHeight">24dip</item>
        <item name="android:maxHeight">24dip</item>
    </style>

最后在布局中的Ratingbar組件設(shè)置下:

<RatingBar
        android:id="@+id/rb_normal"
        style="@style/roomRatingBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

運(yùn)行效果圖:

好的,效果還可以哈,至于間距問題,就需要對圖片坐下處理了,就是需要切圖的時(shí)候在圖片左右預(yù)留點(diǎn)空格~!


本節(jié)小結(jié):

好的,關(guān)于RatingBar的使用就到這里,和前面的SeekBar其實(shí)大同小異,蠻輕松的~嗯,謝謝~

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多