Android学习笔记(十四):高级UI组件----进度条类组件(星级评分条)
程序员文章站
2022-03-30 22:41:58
...
进度条类组件(星级评分条)
- 星级评分条()
通常用来表示对某种事物的支持度或都某种服务的满意度进行评分。
在activity_main.xml文件中,用来定义星级评分条。
- 属性:
- android:layout_width和android:layout_height :取值为wrap_content,即包裹其自身内容。
-
android:numStars :设置星级评分条中星星的数量。默认为5个。如果设置的星星太多一行屏幕宽度无法显示就不显示。
-
android:rating :设置默认点亮几颗星。
-
android:stepSize :设置每次可选择几颗星。默认为0.5,即每次选择半颗星。
如果不设置每次选择就是选择半颗星:
stepSize设置为1:
- android:isIndicator :设置为星星数不可更改,即星级评分条不可评分。
点击星星不可选择或退选:
-
获取用户的选择结果(选中几颗星、每次可选几颗星、进度):
首先给星级评分表定义一个id:
在Java文件中进行如下操作:
package com.example.ratingbardemo;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取星级评分条
RatingBar ratingBar=findViewById(R.id.ratingbar);
//在改变前先获取一次数据:
//获取当前选中了几颗星,方法返回值为float,需要强转为String
String rating=String.valueOf(ratingBar.getRating());
Toast.makeText(MainActivity.this,"rating:"+rating,Toast.LENGTH_SHORT).show();
//获取每次点击可选择几颗星
String stepSize=String.valueOf(ratingBar.getStepSize());
Toast.makeText(MainActivity.this,"stepSize:"+stepSize,Toast.LENGTH_LONG).show();
//获取当前进度
String progress=String.valueOf(ratingBar.getProgress());
Toast.makeText(MainActivity.this,"progress:"+progress,Toast.LENGTH_SHORT).show();
//设置评分改变监听器,每次改变时再获取数据:
ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
//显示当前选中了几颗星,需要强转为String
Toast.makeText(MainActivity.this,"rating:"+String.valueOf(rating),Toast.LENGTH_LONG).show();
//获取每次点击可选择几颗星
String stepSize=String.valueOf(ratingBar.getStepSize());
Toast.makeText(MainActivity.this,"stepSize:"+stepSize,Toast.LENGTH_LONG).show();
//获取当前进度
String progress=String.valueOf(ratingBar.getProgress());
Toast.makeText(MainActivity.this,"progress:"+progress,Toast.LENGTH_SHORT).show();
}
});
}
}
运行结果:
刚开始运行:
改变评分:
上一篇: bboss持久层开启和关闭自带主键机制