Android-自定义星星评分控件RatingBar

2021-09-24 14:36:04 浏览数 (2)

星级评分条RatingBar类似于SeekBar、ProgressBar'等等都可以自定义样式

它的主要用途就比如淘宝、景点 满意度等

这里给出两种自定义效果

如图所示 第一种是通过RatingBar获得分数 第二个是通过RatingBar动态调节控件属性(透明度)

由于RatngBar使用简单

自定义样式方法和:https://blog.csdn.net/qq_43377749/article/details/84839079一样 

在drawable中建一个xml文件写一个 layer-list 就行

这里直接给出它的使用方法:

代码语言:javascript复制
public class MainActivity extends Activity {
    RatingBar ratingBar ;RatingBar ratingBar02 ;
    TextView textView ;
    ImageView imageView ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ratingBar = (RatingBar) findViewById(R.id.rating);
        ratingBar02 = (RatingBar) findViewById(R.id.rating02);
        textView = (TextView) findViewById(R.id.textview);
        imageView = (ImageView) findViewById(R.id.image);
        ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                textView.setText(String.valueOf((int) (rating)));
            }
        });
        ratingBar02.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
                imageView.setAlpha((int)(rating*255/5));
            }
        });
    }
}

然后是布局文件:

文件中的属性 与ProgressBar一样

代码语言:javascript复制

0 人点赞