編輯:Android技術基礎
上一節的SeekBar是不是很輕松咧,本節我們學的這個RatingBar(星級評分條)也非常簡單,相信在某寶, 買過東西的對這個應該不陌生,收到賣家的包裹,裡面很多時候會有個小紙片,五星好評返還多少元這樣, 而評分的時候就可以用到我們這個星級評分條了~先來瞅瞅官方文檔 官方文檔:RatingBar 我們可以看到,這玩意和SeekBar的類結構是一樣的,也是ProgressBar的子類:
也就是說他同樣有用ProgressBar的相關屬性,接下來我們來探究RatingBar特有的屬性!
先來看看5.0的原生SeekBar長什麼樣:

——相關屬性:
android:isIndicator:是否用作指示,用戶無法更改,默認false
android:numStars:顯示多少個星星,必須為整數
android:rating:默認評分值,必須為浮點數
android:stepSize: 評分每次增加的值,必須為浮點數
除了上面這些,還有兩種樣式供我們選擇咧,但是不建議使用,因為這兩種樣式都好丑...
他們分別是:
——事件處理: 只需為RatingBar設置OnRatingBarChangeListener事件,然後重寫下onRatingChanged()方法即可!
實現代碼如下:
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();
}
});
}
}
嘿嘿,我們很多時候不會用星星作為評分標准的,我們來改改呗~ 把星星改成其他的,比如笑臉,兩個素材:

接下來和前面的SeekBar一樣編寫一個layer-list的文件:
ratingbar_full.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/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加上這個:
<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組件設置下:
<RatingBar
android:id="@+id/rb_normal"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
運行效果圖:

好的,效果還可以哈,至於間距問題,就需要對圖片坐下處理了,就是需要切圖的時候在圖片左右預留點空格~!
好的,關於RatingBar的使用就到這裡,和前面的SeekBar其實大同小異,蠻輕松的~嗯,謝謝~
4.4.1 ContentProvider初探
本節引言:本節給大家帶來的是Android四大組件中的最後一個——ContentProvider(內容提供者),可能部分讀者有疑問了,Android
2.5.2 GridView(網格視圖)的基本使用
本節引言: 本節給大家介紹的是第二個Adapter類的控件——GridView(網格視圖),見名知義,ListView是列表, GridView就是顯示網格!他和Li
第36章、信息提示框Toast(從零開始學Android)
Toast用於向用戶顯示一些幫助或者提示,對於我們來說已經不陌生了,經常用到。 下面我們一起再深入了解一下Toast,你會驚奇發現Toast原來還能這樣做!
8.1.1 Android中的13種Drawable小結 Part 1
本節引言:從本節開始我們來學習Android中繪圖與動畫中的一些基礎知識,為我們進階部分的自定義打下基礎!而第一節我們來扣下Android中的Dra