RatingBar使用

RatingBar是ProgressBar的一个延伸,ProgressBar的进度一般由代码控制,RatingBar的进度可以拖拽来控制。

默认效果如下:

163.gif

看到这个效果图之后,您可能会想到打车软件和订餐软件上打五星好评的UI了吧,RatingBar可以完美实现这个效果。

(1)监听

监听RatingBar进度情况的代码如下:

    ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
        @Override
        public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
        }
    });

rating参数为当前进度值。

(2)RatingBar的4个属性

  • android:isIndicator

RatingBar的指示是否起作用,默认为false,如果为true,RatingBar的进度不能被人为修改。

  • android:numStars

显示星星的总数量,必须为整数。

  • android:rating

设置默认评分值,值为浮点数。

  • android:stepSize

评分每次增加的值(最小变化值),值为浮点数。

(3)系统样式

图片.png

系统样式有三种:

  • 默认样式

    style="?attr/ratingBarStyle"

    style="@style/Widget.AppCompat.RatingBar"
  • 指示器样式

    style="?attr/ratingBarStyleIndicator"

    style="@style/Widget.AppCompat.RatingBar.Indicator"
  • 小型样式

    style="?attr/ratingBarStyleSmall"

    style="@style/Widget.AppCompat.RatingBar.Small"

(4)progressDrawable的使用

系统无样式往往还无法满足大部分需求,如果需要将星星换成其它图案呢?

使用progressDrawable属性,设置RatingBar的背景样式。效果图如下:

图片.png

代码如下:

    android:progressDrawable="@drawable/ratingbar_bg"

ratingbar_bg.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/xiong_off"/>
    <item
        android:id="@android:id/progress"
        android:drawable="@mipmap/xiong_on"/>
</layer-list>

两张图片如下:

xiong_on.png

xiong_off.png

希望对大家有所帮助。欢迎各位小伙伴加入我的qq群:开发一群:454430053 (付费)开发二群:537532956 (付费)开发三群:812695329(免费)这里已经有很多小伙伴在等你了,快来加入我们吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值