Android开发手册RatingBar星级评分控件实例
目录
- 实践过程
- 初识
- 基本属性
- 点击事件
- 自定义样式
实践过程
初识
RatingBar是基于SeekBar和ProgressBar的扩展,用星型来显示等级评定。
通常应用场景是在用户评价那,如淘宝评价,打车订餐评价等等。
使用RatingBar的默认大小时,用户可以触摸/拖动或使用键来设置评分,它有两种样式(小风格用ratingBarStyleSmall,大风格用ratingBarStyleIndicator),其中大的只适合指示,不适合于用户交互。
基本属性
【android:isIndicatorRatingBar】是否为指示器,为true时,用户将无法交互操作,默认为false。
【android:numStars】显示的星型数量,必须是一个整形值,像“50”,虽然可以设置很大,但一般都是5-10个星星即可。
【android:rating】设置默认的评分。
【android:stepSize】评分每次增加的值。建议大于0小于等于1之间最合适。
【Android开发手册RatingBar星级评分控件实例】其中内置了三个样式:
style="?attr/ratingBarStyle":默认样式但是使用起来感觉不好看,如下示例:
style="?android:attr/ratingBarStyleSmall":小样式
style="?android:attr/ratingBarStyleIndicator":指示器样式
点击事件
RatingBar ratingBar = findViewById(R.id.rating); ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {@Overridepublic void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {Log.e("TAG", "onRatingChanged: 当前点击的评分:" + rating); }});
自定义样式
ratingbar_bg.xml
文章图片
如上我使用的是三个图片。
【@android:id/background】属性为默认的图,
【@android:id/progress】为选中后的图,
【@android:id/secondaryProgress】为选中了一半的图。
文章图片
但这时候又出现问题了,如果只修改宽高属性【layout_width】和【layout_height】为某个固定值,你会发现评分组件效果展示又不对了,总是填充满整个大小。
宽高属性要一直是【wrap_content】
但这还没完,在不同的分辨率上可能出现高度的bug:drawable图片被垂直拉伸
所以我们按照上面再改改:
- @drawable/ratingbar_bg
- 50dp
- 50dp
固定死高度即可。
以上就是Android开发手册RatingBar星级评分控件实例的详细内容,更多关于Android开发RatingBar评分控件的资料请关注脚本之家其它相关文章!
推荐阅读
- Android开发手册SeekBar拖动条使用实例
- Ubuntu18.04下QT开发Android无法连接设备问题解决
- Android C++系列(Linux文件IO操作)
- 冲|2年CRUD|社招|后端开发|上岸面试分享(附面经)
- 前端框架|前端开发Vue项目实战(电商后台管理系统(一)前后端搭建)
- 人工智能|码农创造了AI,但开发AI不再需要码农了(?)
- 人工智能|将人工智能应用云开发中,“码农1号”掀起IT界的一阵浪潮
- 使用APICloud开发物流仓储app项目实践
- Android|Android App页面滑动标题栏颜色渐变详解
- Android中TextView自动适配文本大小的几种解决方案