android AppCompatRatingBar 简单实用及注意点

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/msn465780/article/details/82701897

 

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

 

好了,又可以愉快玩耍了偷笑

 

 

 

展开阅读全文

没有更多推荐了,返回首页