高级控件之星际评分条(RatingBar)的使用

一.星级评分条的概念

      星级评分条志拖动条类似,都允许用户拖动来改变进度,所不同的是,星级评分条通过星星显示进度.通常情况下.使用星级评分条表示对某一事务的支持度或是对某种服务的满意程度,如淘宝网中对卖家的好评度。

(一)XML配置:

<RatingBar
android:id="@+id/myRatingBar" 
android:layout_width="match_parent" 
android:numStars="5" 
android:rating="2.5"
android:isIndicator="true"
android:stepSize="0.5" 
android:layout_height="wrap_content"/>

(二)常用属性:

  1. android:numStars=”5” 指定星级评分条有多少个星
  2. android:rating=”2.5” 默认选中多少个星
  3. android:isIndicator=”true” 指定星级评分条是否允许用户改变,true为不改变
  4. android:stepSize=”0.5” 指定每次需要改变多少个星星,默认为0.5

(三)监听事件:

监听评分条值变化事件
batingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() { 
 @Override
public void onRatingChanged(RatingBar ratingBar, float rating, 
        boolean fromUser) {
//同ProgressBar 
 //当进度改变时 
//rating代表改变的星级数 
//而fromUser代表是否是用户的操作改变的,如果为false,一般是我们代码中进行了进度设置。如果为true代表的是用户手动拖动拖动条。 

     } 
 });

二.简单演示星级条的使用示例

(一)布局文件activity_main.xml

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
  >

    <RatingBar
        android:id="@+id/main_bar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="5"
        android:rating="4" />

</RelativeLayout>

(二)java代码设计

package com.example.lesson7_ratingbar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.Toast;
import android.widget.RatingBar.OnRatingBarChangeListener;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 实例化对象
        RatingBar bar = (RatingBar) findViewById(R.id.main_bar);

        // 设置监听事件
        bar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {

            @Override
            public void onRatingChanged(RatingBar ratingBar, float rating,
                    boolean fromUser) {
                Toast.makeText(MainActivity.this, "你选择了:" + rating, 0).show();

            }
        });

    }

}

程序运行的的界面:
x1

在三个星的位置点击选择后,显示的结果:

x2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

峥嵘life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值