相信大家都是用淘宝对商家进行几颗星的评分,我们安卓中也有这样的功能,下面我们将它的使用方法和大家分享。
这个例子实现的是点击星行,并显示评分的分数。
整体思路:在xml文件中放置RatingBar控件,在活动中实现OnRatingBarChangeListener,设置它的最大刻度和当前刻度,在onRatingChanged这个方法中根据用户点击星行的评分情况,使用Toast方式输出评分的分数。
activity_main.xml文件:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="评分控件的使用"
android:textSize="20dp"
/>
<RatingBar
android:id="@+id/ratingbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
MainActivity.java文件:
public class MainActivity extends Activity implements OnRatingBarChangeListener{
private RatingBar ratingBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ratingBar=(RatingBar)findViewById(R.id.ratingbar);
ratingBar.setMax(100);//设置最大刻度
ratingBar.setProgress(20);//设置当前刻度
ratingBar.setOnRatingBarChangeListener(this);
}
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
// TODO Auto-generated method stub
int progress=ratingBar.getProgress();
Toast.makeText(MainActivity.this, "progress:"+progress+"rating:"+rating, 1).show();
}
}