Android 星级评分条的基本用法

Posted 路 宇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 星级评分条的基本用法相关的知识,希望对你有一定的参考价值。

一 、效果如图所示:

布局代码实现:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".StarActivity">
    <RatingBar
        android:id="@+id/rb_star"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="5"
        android:stepSize="0.5"
        android:indeterminate="false"
        android:rating="3"
        />
</LinearLayout>

 其中属性如下:

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

StarActivity具体代码:

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

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_star);

        rb_star = findViewById(R.id.rb_star);

        //获取选中的星数
        String state = String.valueOf(rb_star.getRating());
        //获取每次至少改变几颗星
        String step = String.valueOf(rb_star.getStepSize());
        //获取当前进度
        String progress = String.valueOf(rb_star.getProgress());
        Toast.makeText(this, "获取选中的星数:" + state, Toast.LENGTH_SHORT).show();
        Toast.makeText(this, "每次改变的星数:" + step, Toast.LENGTH_SHORT).show();
        Toast.makeText(this, "获取当前进度:" + progress, Toast.LENGTH_SHORT).show();
        //设置评分改变监听器
        rb_star.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                //获取当前进度
                int progress1 = ratingBar.getProgress();
                Toast.makeText(StarActivity.this, "获取当前进度"+progress1, Toast.LENGTH_SHORT).show();
            }
        });
    }
}

效果展示:

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

以上是关于Android 星级评分条的基本用法的主要内容,如果未能解决你的问题,请参考以下文章

Android基础控件RatingBar星级评分条的使用

RatingBar的基本用法

android中星级评分控件RatingBar的使用

Android 学习笔记—— SeekBar(进度条)/RatingBar(星级评分条)

Android自定义RatingBar(星级评分控件)

一起学Android之ProgressBar