[置顶] Android九环刀之RatingBar之评委请亮分

[置顶] Android九环刀之RatingBar之评委请亮分

 

九环刀 
        出自《碧血剑》山东盗首沙天广手下杀豹岗寨主。第七阵比兵刃,杀豹岗寨主提了一柄泼风九环刀上阵,威风凛凛,果然一战成功,把对方的手臂砍伤了。

        今天我们学习如何利用Android平台“九环刀 ”RatingBar实现评分功能,像电子相册、网上图书、微博文章等都有类似的评分需求。下面给出该情景的案例:

一、案例技术要点

1.android.widget.RatingBar类提供评分功能,它扩展了SeekBar和ProgressBar。

2.为RatingBar对象设置OnRatingBarChangeListener,监听RatingBar的实时变化,并回调其onRatingChanged()方法。

二、案例代码陈列

工程包目录

[置顶] Android九环刀之RatingBar之评委请亮分

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="cn.lynn.ratingbar"

    android:versionCode="1"

    android:versionName="1.0" >



    <uses-sdk

        android:minSdkVersion="8"

        android:targetSdkVersion="15" />



    <application

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name" >

        <activity

            android:name=".RatingBarMainActivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />



                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>



</manifest>

strings.xml

<resources>



    <string name="app_name">Android评分RatingBar</string>

    <string name="rating">请您评分</string>



</resources>

main.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" >



    <TextView

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:text="@string/rating"

        android:textSize="20sp" />

    

    <RatingBar 

        android:id="@+id/ratingBar"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"/>



</LinearLayout>

RatingBarMainActivity.java

package cn.lynn.ratingbar;



import android.app.Activity;

import android.os.Bundle;

import android.widget.RatingBar;

import android.widget.RatingBar.OnRatingBarChangeListener;

import android.widget.Toast;



/**

 * RatingBar扩展了SeekBar和ProgressBar,并且提供评分的功能 

 * RatingBar案例:请您评分

 * @author lynnli1229

 */

public class RatingBarMainActivity extends Activity {



    private RatingBar ratingBar;



    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);



        ratingBar = (RatingBar) findViewById(R.id.ratingBar);

        ratingBar.setMax(100); // 设置最大刻度值为100

        ratingBar.setProgress(10); // 设置当前刻度值为10

        ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {

            @Override

            public void onRatingChanged(RatingBar ratingBar, float rating,

                    boolean fromUser) {

                ratingBar.getProgress();

                Toast.makeText(RatingBarMainActivity.this,

                        "当前刻度:" + ratingBar.getProgress() + ",当前评分:" + rating,

                        Toast.LENGTH_LONG).show();

            }

        });

    }

}

三、案例效果展示

[置顶] Android九环刀之RatingBar之评委请亮分  [置顶] Android九环刀之RatingBar之评委请亮分  [置顶] Android九环刀之RatingBar之评委请亮分

你可能感兴趣的:(RatingBar)