您的位置:首页 > 产品设计 > UI/UE

【Android 开发】:UI控件之 RatingBar 评分控件的使用

2013-06-05 22:06 405 查看
    RatingBar主要用在电子相册、网上书店和对文章进行评分的功能。

    在学习之前,我们先了解一下Android官方文档中对于RatingBar的使用

1. android.widget.RatingBar

RatingBar是 SeekBar 和 ProgressBar 的扩展,它显示的是一个五角星的效果。用户可以拖动和触摸RatingBar来达到评分的功能。

其中涉及到的一个监听器接口如下



进入这个接口,我们需要实现的这个方法如下所示:



第一个参数 ratingBar: 表示当前评分进度条发生改变的时候会回调
第二个参数 rating   : 表示当前的值,从 getProgress()方法来获得
第三个表示 fromUser : true表示进度改变是通过触摸和滑动来实现的。

2. 案例实现

1) 布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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>
2) 主要代码
public class RatingBarDemo extends Activity implements OnRatingBarChangeListener{

private RatingBar ratingBar;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initComponent();

ratingBar.setMax(100); //设置最大刻度
ratingBar.setProgress(20); //设置当前刻度
ratingBar.setOnRatingBarChangeListener(this);
}

private void initComponent(){
ratingBar = (RatingBar)findViewById(R.id.ratingBar);

}

@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {

int progress = (int)ratingBar.getProgress(); //获得当前的刻度

// TODO Auto-generated method stub
Toast.makeText(RatingBarDemo.this, "progress: " + progress + "rating: " + rating, 1).show();
}
}

3. 程序实现结果:



源码下载地址:http://download.csdn.net/detail/xukunhui2/5527267

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐