Android 星级评分条的基本用法

简介: Android 星级评分条的基本用法

一 、效果如图所示:

布局代码实现:

1. <?xml version="1.0" encoding="utf-8"?>
2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3.     xmlns:app="http://schemas.android.com/apk/res-auto"
4.     xmlns:tools="http://schemas.android.com/tools"
5.     android:layout_width="match_parent"
6.     android:layout_height="match_parent"
7.     tools:context=".StarActivity">
8.     <RatingBar
9.         android:id="@+id/rb_star"
10.         android:layout_width="wrap_content"
11.         android:layout_height="wrap_content"
12.         android:numStars="5"
13.         android:stepSize="0.5"
14.         android:indeterminate="false"
15.         android:rating="3"
16.         />
17. </LinearLayout>

其中属性如下:

  1. numStars :设置星的个数,默认为5颗星
  2. rating:默认点亮几颗星
  3. indeterminate:默认为false,表示星数可以改变,设置为true 星数不能改变
  4. stepSize:每次至少选择的星数,默认为0.5颗

StarActivity具体代码:

具体详解已经在注释中给出:

1. @Override
2.     protected void onCreate(Bundle savedInstanceState) {
3.         super.onCreate(savedInstanceState);
4.         setContentView(R.layout.activity_star);
5. 
6.         rb_star = findViewById(R.id.rb_star);
7. 
8.         //获取选中的星数
9.         String state = String.valueOf(rb_star.getRating());
10.         //获取每次至少改变几颗星
11.         String step = String.valueOf(rb_star.getStepSize());
12.         //获取当前进度
13.         String progress = String.valueOf(rb_star.getProgress());
14.         Toast.makeText(this, "获取选中的星数:" + state, Toast.LENGTH_SHORT).show();
15.         Toast.makeText(this, "每次改变的星数:" + step, Toast.LENGTH_SHORT).show();
16.         Toast.makeText(this, "获取当前进度:" + progress, Toast.LENGTH_SHORT).show();
17.         //设置评分改变监听器
18.         rb_star.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
19.             @Override
20.             public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
21.                 //获取当前进度
22.                 int progress1 = ratingBar.getProgress();
23.                 Toast.makeText(StarActivity.this, "获取当前进度"+progress1, Toast.LENGTH_SHORT).show();
24.             }
25.         });
26.     }
27. }

效果展示:

注意:这里的当前进度指的是,如果每次至少增加默认的0.5颗星,一颗星,则相当于2个进度值。


目录
相关文章
|
5月前
|
编解码 前端开发 Android开发
Android经典实战之TextureView原理和高级用法
本文介绍了 `TextureView` 的原理和特点,包括其硬件加速渲染的优势及与其他视图叠加使用的灵活性,并提供了视频播放和自定义绘制的示例代码。通过合理管理生命周期和资源,`TextureView` 可实现高效流畅的图形和视频渲染。
373 12
|
7月前
|
Android开发 Kotlin
Android经典面试题之Kotlin中Lambda表达式有哪些用法
Kotlin的Lambda表达式是匿名函数的简洁形式,常用于集合操作和高阶函数。基本语法是`{参数 -&gt; 表达式}`。例如,`{a, b -&gt; a + b}`是一个加法lambda。它们可在`map`、`filter`等函数中使用,也可作为参数传递。单参数时可使用`it`关键字,如`list.map { it * 2 }`。类型推断简化了类型声明。
50 0
|
8月前
|
Java API Android开发
21. 【Android教程】评分条 RatingBar
21. 【Android教程】评分条 RatingBar
80 3
|
7月前
|
XML 数据格式
Android-自定义三角形评分控件
Android-自定义三角形评分控件
62 0
|
9月前
|
定位技术 Android开发
Intent在Android中的几种用法
Intent在Android中的几种用法
121 1
|
Android开发
Android 中选项菜单(Option menu)的用法
Android 中选项菜单(Option menu)的用法
243 0
|
9月前
|
Java Android开发 数据安全/隐私保护
安卓逆向 -- IDA基本用法
安卓逆向 -- IDA基本用法
115 0
|
Android开发
Android onActivityResult()的属性与用法
Android onActivityResult()的属性与用法
180 1
|
Android开发
Android 中CheckBox复选框按钮的基本用法
Android 中CheckBox复选框按钮的基本用法
170 0
|
Android开发
Android 中SeekBar拖动条控件的基本用法
Android 中SeekBar拖动条控件的基本用法
179 0

热门文章

最新文章

  • 1
    如何修复 Android 和 Windows 不支持视频编解码器的问题?
  • 2
    【03】优雅草央千澈详解关于APP签名以及分发-上架完整流程-第三篇安卓APP上架华为商店后面的步骤-华为应用商店相对比较麻烦一些-华为商店安卓上架
  • 3
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 4
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
  • 5
    【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 6
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 7
    【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)
  • 8
    Android数据库开发——SQLite
  • 9
    Android Studio安装使用图文教程
  • 10
    站在巨人的肩膀上---重新自定义 android- ExpandableListView 收缩类,实现列表的可收缩扩展