Android RatingBar终极解决方案,大小、颜色、间距、样式随便定义
giswangsj 2020/4/28 23:02:42
用过RatingBar的都知道,这玩意比较坑,不好调整大小、间距、颜色及样式等难以自定义。这里给出一个RatingBar的终极解决方案-AndRatingBar
。
AndRatingBar
开源库,它继承自Android原生的RatingBar
,也继承了RatingBar可拖动的优良传统,通过对内部drawable的重写实现了大小可以根据控件大小而改变,并且可以方便的设置颜色,自定义图标等。
1,先看一下预览效果:





可以看出AndRatingBar
可以设置大小,间距,颜色,图标等样式,并且支持从右往左展示Rating,并且可以在RecyclerView中不会出现异常情况。
2,使用
AndRatingBar
的使用也很简单
首先添加依赖:
allprojects { repositories { maven { url 'https://jitpack.io' } } } dependencies { implementation 'com.github.giswangsj:AndRatingBar:1.0.3' } 复制代码
然后在布局中引用
<per.wsj.library.AndRatingBar 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" 从右往左展示
仓库地址:github.com/giswangsj/A… 欢迎star

关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[Android RatingBar终极解决方案,大小、颜色、间距、样式随便定义]http://www.zyiz.net/tech/detail-131528.html
- 2022-05-22Win11安装Android App
- 2022-05-18Android Listview
- 2022-05-18为什么说 Gradle 是 Android 进阶绕不去的坎 —— Gradle 系列(1)
- 2022-05-16短视频系统源码,android 真正的全屏沉浸式体验
- 2022-05-12Android Studio介绍
- 2022-05-12Android7.1.2 源码编译并烧写Nexus5X
- 2022-05-11Unity工程导入Android工程
- 2022-05-11Android如何实现简单动态搜索功能
- 2022-05-11Android如何实现简单动态搜索功能
- 2022-05-11《第一行代码:Android篇》学习笔记(一)