一起Talk Android吧(第六十五回:Android中UI控件之RatingBar)


各位看官们,大家好,上一回中咱们说的是Android中UI控件之SeekBar的例子,这一回咱们的例子是UI控件之RatingBar。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,RatingBar通常翻译为评分条,评分条通常用来做评分统计,这个大家肯定使用过,我就不多说了。接下来我们通过代码结合文本的方式来演示如何使用这种控件。

  • 1.在布局中添加RatingBar,通常是在Activity的布局文件中添加
    <RatingBar
        android:id="@+id/ratingbar_id"    //配置RatingBar的ID
        android:layout_width="wrap_content"  //配置RatingBar的宽度和高度属性
        android:layout_height="wrap_content"
        android:layout_gravity="center"   //配置RatingBar的位置,让它居中
        android:numStars="5"  //配置RatingBar显示的星星数量,通常使用5个星星
        android:max="100"/>  //配置RatingBar的最大评分值
  • 2.在代码中获取布局文件中的RatingBar。通常位于Activity的onCreate方法中。
    mRatingBar = (RatingBar)findViewById(R.id.ratingbar_id);
  • 3.在代码中获取RatingBar上的评分值。通常需要给RatingBar配置一个监听器,并且在监听器中获取RatingBar上具体的评分值。
        mRatingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
            @Override
            public void onRatingChanged(RatingBar ratingBar, float v, boolean b) {
                int progres = (int)(v*20);
                mProgressBar.setProgress(progres);
            }
        });

在该代码中我们给RatingBar配置了监听器,并且重写了监听器中的onRatingChanged()方法,该方法中的第二个参数就是当前评分条上具体的评分值,不过它是一个百分比数值,该程序中每个星星代表1/5,而最大值是100,所以我们乘以20,为了演示,我们在代码中对进度条进行了调节。在实际运行程序时,进度条会随着评分条的变化而变化,下面是程序运行时的效果图,请参考:

参考图片

各位看官,关于Android中UI控件之RatingBar的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


猜你喜欢

转载自blog.csdn.net/talk_8/article/details/79406219