RatingBar控件为用户提供一个评分操作的模式。
控件的几个常用方法:
1.setMax()
设置RatingBar星级滑块的最大值.
2.setNumStars()
设置RatingBar星级滑块的星形数量。值得注意的是,应该把控件的布局宽度设置为wrap_content,如果设置为fill_parent,显示的星形数量很有可能不是设置的星形数量。
3.setRating()
设置RatingBar星级滑块的显示分数,设置星星的数量。
4.setStepSize()
设置RatingBar星级滑块每次更改的最小长度(最小星星数量)。如:setStepSize((float)0.5)是半个星星。
5.setOnRatingBarChangeListener()
设置监听器。在用户更改滑块后,触发监听器。
演示实例:
MainActivity.java
public class MainActivity extends Activity {
RatingBar bar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bar = (RatingBar) findViewById(R.id.rat);
//滑块的星形数量
bar.setNumStars(5);
//设置最大值
bar.setMax(100);
//设置分数
bar.setRating((float) 1.5);
//设置每次更改的最小长度
bar.setStepSize((float) 0.5);
//设置监听器
bar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar arg0, float arg1, boolean arg2) {
Toast.makeText(MainActivity.this,"" + arg1*20, Toast.LENGTH_SHORT).show();
}
});
}
}
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" >
<RatingBar
android:id="@+id/rat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
效果图: