> 博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
>
点击跳转到网站
一 、效果如图所示:
布局代码实现:
其中属性如下:
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个进度值。