我们经常会看到这样一种效果,就是用5颗五角星来显示对某个产品的评价指数,如何实现的呢,Android系统自带了RatingBar,就是实现了这样一种效果:
这里我们简单介绍几个RatingBar的属性:
1.numStars:可以设置星星的个数,默认是5个
2.当前等级:progress
3.stepSize : 可以理解成每拖动一次前进的个数
4.在具体使用的时候我们只需要实现一个setOnRatingBarChangeListener监听就可以
因为是Android自带的控件,所以使用起来还是蛮简单的:
首先,配置文件如下
<RatingBar
android:id="@+id/rb_star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="4"
android:stepSize="0.5"
/>
Activity中:package com.wj.timepicker;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
public class RatingBarActivity extends Activity {
private RatingBar ratingBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ratingbar);
ratingBar=(RatingBar) findViewById(R.id.rb_star);
ratingBar.setOnRatingBarChangeListener(new RatingBarListener());
}
class RatingBarListener implements OnRatingBarChangeListener{
@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
// TODO Auto-generated method stub
System.out.println("rating:"+rating+"fromUser:"+fromUser);
}
}
}
ok,效果其实很简单,用法大概就是这样,具体放到实际项目中我们再来详细考虑!至于效果,大家还是自己动手看看吧,勤于动手,不要看着简单就不去做。