社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
AppCompatRatingBar 这个控件很多年前用过,用来做商场评价用的,当时就碰到了很多坑,都摆平了,
多年未使用发现又掉坑了, 因为以前没记录,很多坑都忘记怎么干掉的了,花了一点时间终于又摆平了
为了下次使用方便,这里做个记录。
先看下正确使用后的效果图吧:
直接上使用的文件内容吧:
<android.support.v7.widget.AppCompatRatingBar
style="@style/RadingStyle"
android:layout_width="wrap_content"
android:layout_height="20dp"
android:isIndicator="false"
android:max="5" />
然后是自定义样式:
<style name="RadingStyle" parent="@android:style/Widget.RatingBar">
<!-- 定义星星图片 -->
<item name="android:progressDrawable">@drawable/appraise_rating_bar</item>
<!-- 根据自定义星星图片的大小,设置相应的值,否则可能显示不全 -->
<item name="android:minHeight">20dp</item>
<item name="android:maxHeight">20dp</item>
//这里放一些你觉得公共的属性(你可以在控件里覆盖这里的属性)
</style>
appraise_rating_bar.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_star_grey"></item>
<item
android:id="@android:id/secondaryProgress"
android:drawable="@mipmap/ic_star_grey"></item>
<item
android:id="@android:id/progress"
android:drawable="@mipmap/ic_star_red"></item>
</layer-list>
图片资源:
ic_star_red 是选中图标,ic_star_grey是默认图标
直接把上面的复制到项目中就可以正常使用了,需要改图标的可以随便改的。
1、这个控件的使用真的不能从逻辑上去,首先就是会发现图标显示半截不全
解决方案:图标尺寸太高,需要缩小
2、控件选中图标和默认图标对不齐,底部还有像眼泪的一样往下掉,就是很奇怪的现象
解决方案:选中图标需要和默认图标尺寸一致
3、明明设置了最大max星星数,但是不起效果
解决方案:AppCompatRatingBar的宽度要设置为wrap_content,不能是match_parent
好了,又可以愉快玩耍了
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!