今天做一个评分的功能,但是Android自带的ratingbar的格式太多,只有两种格式提供,一个是特别大的,一个是特别小的,根本无法用到商业项目中去,于是自己自定义了一下ratingbar效果如下所示:
RatingBar为评分条控件,默认效果为若干个绿色的星星,如果想将其换成其他自定义图片就要自定义它的style。
<RatingBar
android:id="@+id/detail_rb_score_detail"
style="@style/MyRatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/detail_tv_score_detail"
android:numStars="5"
android:rating="1.5"
android:stepSize="0.5" />
其中android:numStars="5"设置显示的星星数量为5; android:rating="5"设置选中的数量为5,也就是全部选中
android:isIndicator="true"设置评分条只显示结果无法通过点击改变选中状态。
<style name="MyRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/detail_ratingbar</item>
<item name="android:minHeight">20dip</item>
<item name="android:maxHeight">20dip</item>
</style>
<?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="@drawable/rating" />
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/detail_float" />
<item android:id="@+android:id/progress"
android:drawable="@drawable/rating_show" />
</layer-list>
layer-list 可以把图片进行层叠,实现类似的效果!
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+android:id/background"
android:drawable="@drawable/detail_score_bg" />
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/detail_float" />
<item android:id="@+android:id/progress"
android:drawable="@drawable/detail_score_press" />
</layer-list>
如有问题请留言,若转载注明出处。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- ryyc.cn 版权所有 湘ICP备2023022495号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务