RatingBar是基于SeekBar和ProgressBar的扩展,用星型来显示等级评定。使用RatingBar的默认大小时,用户可以触摸/拖动或使用键来设置评分,它有两种样式(小风格用ratingBarStyleSmall,大风格用ratingBarStyleIndicator),其中大的只适合指示,不适合于用户交互。
主要用于评分。
一、设计界面
1、打开“res/layout/activity_main.xml”文件。
从工具栏向activity拖出1个评分条RatingBar。
![](https://img-my.csdn.net/uploads/201301/10/1357787056_6510.jpg)
2、打开activity_main.xml文件。
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ratingbar" />
</LinearLayout>
二、程序文件
打开“src/com.genwoxue.ratingbar/MainActivity.java”文件。
然后输入以下代码:
package com.genwoxue.ratingbar;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.Toast;
public class MainActivity extends Activity {
//声明RatingBar
private RatingBar rbScore=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取RatingBar
rbScore = (RatingBar)findViewById(R.id.ratingbar);
//设置监听事件
rbScore.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener(){
public void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) {
Toast.makeText(getApplication(), "rating:"+String.valueOf(rating),Toast.LENGTH_SHORT).show();
}
});
}
}
public void setOnRatingBarChangeListener (RatingBar.OnRatingBarChangeListener listener)
设置当评分等级发生改变时回调的监听器
三、运行效果
![](https://img-my.csdn.net/uploads/201301/10/1357788578_9304.jpg)