首页 > 其他分享 >AppCompatRatingBar的使用

AppCompatRatingBar的使用

时间:2022-11-16 14:00:51浏览次数:53  
标签:style 修改 使用 progressDrawable AppCompatRatingBar 图片

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,即可以显示半颗星

标签:style,修改,使用,progressDrawable,AppCompatRatingBar,图片
From: https://www.cnblogs.com/alasola/p/16895664.html

相关文章