AppCompatRatingBar的使用

昨天遇到项目中使用AppCompatRatingBar来做评分的,效果已经弄出来了,但是如论如何改变属性就是弄不出来5个,不配置progressDrawable的话,还可以展示出来。然后就开始了我的排查之路。

  1. 修改style或者自定义style
  2. 宽和高的检查
  3. progressDrawable和indeterminateDrawable的修改
  4. 修改drawable依赖的图片
    经过一番操作发现,还是我依赖的资源有问题。
<?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/icon_star_off" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/icon_star_off" />
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/icon_star_on" />
</layer-list>

最开始我想的是减少资源的引用,尽可能的使用矢量图来做,因此两个资源都放在drawable中,都是svg制作出来的图片。然后重新导入,修改图片的资源为png格式的就发现问题解决啦。
另外还有一个问题就是通过svg作为图片进行导入的时候,需要勾选无边框,这样才能再使用的时候不会有间隔线

<?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/icon_star_off" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@mipmap/icon_star_off" />
    <item
        android:id="@android:id/progress"
        android:drawable="@mipmap/icon_star_on" />
</layer-list>

常见的属性说明:

(1)max:表示最大值,即满分是多是
(2)numStars:满分情况下一共有多少颗星
(3)rating:默认几颗星是亮的
(4)progressDrawable:设置选中状态和未选中状态的星星的切图
(5)isIndicator:是否是指示器。(如果设置为true,意思是RatingBar作为指示器,不可通过触摸改变RatingBar的进度)
(6)stepSize:步长,默认是0.5,即可以显示半颗星

原文地址:http://www.cnblogs.com/alasola/p/16895664.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性