android ratingbar 高度,Android RatingBar终极解决方案,大小、颜色、间距、样式随便定义...

用过RatingBar的都知道,这玩意比较坑,不好调整大小、间距、颜色及样式等难以自定义。这里给出一个RatingBar的终极解决方案-AndRatingBar。

AndRatingBar开源库,它继承自Android原生的RatingBar,也继承了RatingBar可拖动的优良传统,通过对内部drawable的重写实现了大小可以根据控件大小而改变,并且可以方便的设置颜色,自定义图标等。

1,先看一下预览效果:

c3441114c7e74879b015b66de4839cd3.gif

9582a464418f7f641ea2448b50874b17.gif

18dbec5e82b92c9152244205b322d5af.gif

b3b989fbac77a8aeadd6e8aaa3cd9e64.gif

ca90fc18ef919cd6421fcc86e2e7fd27.gif

可以看出AndRatingBar可以设置大小,间距,颜色,图标等样式,并且支持从右往左展示Rating,并且可以在RecyclerView中不会出现异常情况。

2,使用

AndRatingBar的使用也很简单

首先添加依赖:

allprojects {

repositories {

maven { url 'https://jitpack.io' }

}

}

dependencies {

implementation 'com.github.giswangsj:AndRatingBar:1.0.3'

}

复制代码

然后在布局中引用

android:layout_width="wrap_content"

android:layout_height="48dp"

app:starDrawable="@drawable/star_blue"

app:bgDrawable="@drawable/star_gray"

复制代码

事件监听

ratingBar.setOnRatingChangeListener { ratingBar, rating ->

Log.e("ratingBar", "rating:$rating")

}

复制代码

3,配置

前面提到过AndRatingBar继承自Android原生RatingBar,因此可以使用原生RatingBar的各种属性,常用如下:

android:rating="1"                            设置Rating

android:numStars="8"                      设置星星的数量

android:layout_height="36dp"          设置控件的高度

android:stepSize="0.5"                     设置Rating的步长

android:isIndicator="true"                 设置是否是指示器(只能代码设置,不可手动设置)

另外AndRatingBar提供了扩展属性,可以方便的进行样式设置:

app:starDrawable=""                        设置星星的图标

app:bgDrawable=""                          设置背景的图标

app:starColor=""                               设置星星的颜色

app:subStarColor=""                         设置二级颜色

app:bgColor=""                                 设置星星背景颜色

app:keepOriginColor=""                    设置是否保持图标原有的颜色

app:starSpacing="4dp"                     调整星星之间的间距

app:scaleFactor="1.2"                       通过缩放比例调整星星之间的间距

app:right2Left="true"                         从右往左展示

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值