• Android九环刀之RatingBar之评委请亮分


    传送门 ☞ Android兵器谱 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229


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

            今天我们学习如何利用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();
                }
            });
        }
    }
    
    三、案例效果展示
      
  • 相关阅读:
    Android中获取屏幕高度和宽度
    Android--第三方控件--okHttp
    Android中获取手机电量信息
    Android中获取并设置屏幕亮度
    ViewPager实现图片的轮播
    ScrollView嵌套使用ListView冲突的解决与分析
    Vue中的MVVM框架
    vue(一)
    RabbitMQ消费端ACK与重回队列机制,TTL,死信队列详解(十一)
    RabbitMQ消费端限流策略(十)
  • 原文地址:https://www.cnblogs.com/innosight/p/3271188.html
Copyright © 2020-2023  润新知