Android控件之RatingBar

来源:互联网 发布:linux英文不會 编辑:程序博客网 时间:2024/05/01 04:20

xml布局文件

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <!--     RatingBar星级进度条控件    isIndicator:是否当成指示器,若为true,则不允许用户交互;为false则允许用户交互    numStars:星级数量    stepSize:星级涨幅的单位,0.5代表半颗星     -->    <RatingBar         android:id="@+id/ratingBar"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:isIndicator="false"        android:numStars="5"        android:stepSize="0.5"        /></LinearLayout>

xml文件效果
这里写图片描述

Java代码

package com.example.ui_ratingbar;import android.app.Activity;import android.os.Bundle;import android.widget.RatingBar;import android.widget.RatingBar.OnRatingBarChangeListener;public class MainActivity extends Activity {    private RatingBar ratingBar;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.linearlayout);        ratingBar = (RatingBar) findViewById(R.id.ratingBar);        // 注意RatingBar对应的监听器类实现的接口应该为OnRatingBarChangeListener        ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {            @Override            public void onRatingChanged(RatingBar arg0, float arg1, boolean arg2) {                // 当绑定的RatingBar有改变的时候触发,三个参数分别为:                /*                 * 1、arg0为当前绑定的发生改变的RatingBar对象 2、arg1位当前rating的星级进度                 * 3、arg2为是否由用户手动触发                 */                System.out.println("当前ratingBar评分:" + arg1 + " 是否手动触发:" + arg2                        + " 每次评分的刻度:" + arg0.getStepSize());            }        });    }}
0 0