您的位置:首页 > 移动开发 > Android开发

Android开发总结笔记 RatingBar(评分条) 1-1-12

2015-10-12 10:21 543 查看




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">
<RatingBar
style="@android:style/Widget.Holo.RatingBar.Small"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"/>
<RatingBar
style="@android:style/Widget.Holo.RatingBar.Indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"/>
<RatingBar
style="@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(){
@Override
publicvoidonRatingChanged(RatingBarratingBar,floatrating,booleanfromUser){
Toast.makeText(MainActivity.this,rating+"",Toast.LENGTH_LONG).show();
}
});






3、自定义RatingBar样式

ratingbar.xml

<?xmlversion="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>


<RatingBar
android:id="@+id/ratingBar"
style="@style/customRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"/>




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: