Android 星级评分条的基本用法

> 博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
>
点击跳转到网站

一 、效果如图所示:

Android 星级评分条的基本用法_第1张图片

布局代码实现:



    

 其中属性如下:

  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();
            }
        });
    }
}

效果展示:

Android 星级评分条的基本用法_第2张图片

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

你可能感兴趣的:(Android基础笔记,android,RatingBar,星级评分条)