zoukankan      html  css  js  c++  java
  • [置顶] Android九环刀之RatingBar之评委请亮分


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

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

    一、案例技术要点

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

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

    二、案例代码陈列

    工程包目录


    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();
                }
            });
        }
    }
    

    三、案例效果展示

       
  • 相关阅读:
    Debian下通过SSHFS/SHFS挂载远程文件
    Linux下如何查看CPU信息, 包括位数和多核信息
    Nexus One USB in Ubuntu 9.10
    育儿书籍阅读顺序的建议
    Android 2.1 中 JNI 层 camera 的应用
    Android开发工具使用之adb
    改变父母的十本书
    在Ubuntu下使用adb
    改变父母的十本书之《童年的秘密》
    Ubuntu Lucid(10.04)上安装Google Android SDK环境
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3132209.html
Copyright © 2011-2022 走看看