目录
RatingBar
Android开发中,时不时的就有要实现星星的评分效果,比如某宝,某团,相信大家也都见过,它就是RatingBar。
RatingBar继承ProgressBar,除了ProgressBar的属性外还有特有属性.
参数 | 属性 |
---|---|
android:isIndicator | 是否用作指示,用户无法更改,默认false |
android:numStars | 显示多少个星星,必须为整数 |
android:rating | 默认评分值,必须为浮点数 |
android:stepSize | 评分每次增加的值,必须为浮点数 |
使用代码:
<RatingBar
android:id="@+id/ratingBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:rating="3.5"/>
效果图:
image.png
使用实例
使用星际评分条来修改图片的透明度.
activity_main.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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=".MainActivity">
<ImageView
android:id="@+id/imageView1"
android:layout_width="400dp"
android:layout_height="400dp"
android:src="@drawable/ppp" />
<RatingBar
android:id="@+id/ratingBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:rating="3.5"/>
</android.support.constraint.ConstraintLayout>
代码实现:
package com.example.user.ratingbar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private ImageView imageView;
private RatingBar ratingBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView=(ImageView)findViewById(R.id.imageView1);
ratingBar=(RatingBar)findViewById(R.id.ratingBar1);
// 设定显示为最大值
ratingBar.setRating(5);
ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
// 设置图片的透明度
imageView.setImageAlpha((int)(255*rating/5));
}
});
}
}
执行效果:
image.png
image.png
网友评论