1. 程式人生 > >Android開發總結筆記 RatingBar(評分條) 1-1-12

Android開發總結筆記 RatingBar(評分條) 1-1-12


RatingBar(API)用星星的數量來進行評分顯示。是個比較簡單的元件。下面來看一看他的一些屬性
  • android:isIndicator        設定Rating是否為指示器,意思是使用者不可改變RatingBar的值
  • android:numStarts        設定RatingBar顯示的星星的數量,整數型
  • android:rating                設定預設的評分,浮點型
  • android:stepSize            設定每一步的評分是多大,浮點型
1、RatingBar的幾個樣式 <LinearLayoutxmlns:android
="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/black"android:orientation="vertical"><RatingBarstyle="@android:style/Widget.Holo.RatingBar.Small"android:layout_width="wrap_content"android:layout_height
="wrap_content"
android:numStars="5"/><RatingBarstyle="@android:style/Widget.Holo.RatingBar.Indicator"android:layout_width="wrap_content"android:layout_height="wrap_content"android:numStars="5"/><RatingBarstyle="@android:style/Widget.Holo.RatingBar"android:layout_width="wrap_content"android:layout_height
="wrap_content"
android:numStars="5"/></LinearLayout>
注意!RatingBar的width不能設定成match_parent,否則android:numStarts屬性會失效。 2、給RatingBar新增觸發事件
mRbTest =(RatingBar) findViewById(R.id.ratingBar); mRbTest.setOnRatingBarChangeListener(newRatingBar.OnRatingBarChangeListener(){@Overridepublicvoid onRatingChanged(RatingBar ratingBar,float rating,boolean fromUser){Toast.makeText(MainActivity.this, rating +"",Toast.LENGTH_LONG).show();}});
3、自定義RatingBar樣式 ratingbar.xml <?xml version="1.0" encoding="utf-8"?><layer-listxmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:id="@android:id/background"android:drawable="@drawable/ic_rating_bar_off"></item><itemandroid:id="@android:id/secondaryProgress"android:drawable="@drawable/ic_rating_bar_off"></item><itemandroid:id="@android:id/progress"android:drawable="@drawable/ic_rating_bar_on"></item></layer-list> customRatingBar.xml <stylename="customRatingBar"parent="@android:style/Widget.RatingBar"><itemname="android:progressDrawable">@drawable/ratingbar</item><itemname="android:minHeight">24dp</item><itemname="android:minWidth">24dp</item></style> <RatingBarandroid:id="@+id/ratingBar"style="@style/customRatingBar"android:layout_width="wrap_content"android:layout_height="wrap_content"android:numStars="5"/>