您的位置:首页 > 移动开发 > Android开发

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

2013-06-11 14:59 330 查看
传送门 ☞ 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();
}
});
}
}
三、案例效果展示


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息