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个进度值。


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