




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Android開發(fā)實(shí)戰(zhàn)經(jīng)典第7章: Android中的基本控件(下) 評分組件:RatingBar北京魔樂科技軟件學(xué)院李興華研發(fā)部本章目標(biāo)掌握評分組件的主要使用;掌握自定義評分組件圖片的使用;E-MAIL:評分組件:RatingBar如果現(xiàn)在用戶要對某個(gè)應(yīng)用程序打分往往會使用圖所示的組件,通過選擇的“五角星”的個(gè)數(shù)來決定最終的打分成績這樣的功能在Android之中,可以使用RatingBar組件實(shí)現(xiàn),使用此組件可以方便用戶的輸入,而且很直觀,RatingBar類的定義結(jié)構(gòu)如下:java.lang.Object android.view.View android.wid
2、get.ProgressBar android.widget.AbsSeekBar android.widget.RatingBarE-MAIL:RatingBar類的常用方法E-MAIL:No.方法類型屬性描述1public RatingBar(Context context)構(gòu)造創(chuàng)建RatingBar對象2public int getNumStars()普通取得評分?jǐn)?shù)量3public float getRating()普通取得當(dāng)前值4public float getStepSize()普通取得設(shè)置的步長5public boolean is
3、Indicator()普通判斷是否可以操作6public void setIsIndicator(boolean isIndicator)普通android:isIndicator是否可以操作7public synchronized void setMax(int max)普通設(shè)置最大值8public void setNumStars(int numStars)普通android:numStars設(shè)置評分星的個(gè)數(shù)9public void setOnRatingBarChangeListener (RatingBar.OnRatingBarChangeListener listener)普通設(shè)置
4、操作10public void setRating(float rating)普通android:rating設(shè)置當(dāng)前值11public void setStepSize(float stepSize)普通android:stepSize設(shè)置每次增長的步長RatingBar.OnRatingBarChangeListener接口E-MAIL:public static interface RatingBar.OnRatingBarChangeListener/* 評分的處理操作* param ratingBar 當(dāng)前觸發(fā)此的RatingBar對象* param rat
5、ing 當(dāng)前RatingBar的數(shù)值* param fromUser 是否由用戶操作*/public abstract void onRatingChanged(RatingBar ratingBar, floatrating, boolean fromUser) ;范例:事先評分組件操作E-MAIL:范例:在main.xml文件中定義組件E-MAIL:布局管理器高度為屏幕高度 組件高度為顯示高度 組件高度為顯示高度 組件高度為屏幕高度范例:在Activity程序之中對評分組件(ratingbarA)的操作進(jìn)行E-MAIL:mldnqa163
6、.compublic class MyRatingBarDemo extends Activity private RatingBar ratingBarA = null;/ 定義評分組件private TextView text = null;/ 文本顯示組件Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); super.setContentView(R.layout.main);this.ratingBarA = (RatingBar) super.findV
7、iewById(R.id.ratingbarA) ; this.text = (TextView) super.findViewById(R.id.text) ;/ 取得組件this.ratingBarA.setOnRatingBarChangeListener(new OnRatingBarChangeListenerImpl();/ 設(shè)置private class OnRatingBarChangeListenerImpl implementsRatingBar.OnRatingBarChangeListener Overridepublic void onRatingChanged(Ra
8、tingBar ratingBar, float rating,boolean fromUser) MyRatingBarDemo.this.text.append(* 當(dāng)前值(Rating):+ ratingBar.getRating() + ,增長步長:+ ratingBar.getStepSize() + n); / 增加文本顯示自定義評分組件如果用戶覺得這種樣式的顯示風(fēng)格過于難看,也可以根據(jù)自己的需要定義自己的顯示圖片;用戶需要將圖片保存在drawable-*的文件夾之中;隨后需要在保存圖片的文件夾(drawable-*)中定義一個(gè)star_conf_file.xml文件夾,以分別描述
9、圖所示的兩張圖片信息E-MAIL:范例:使用自定義圖片作為評分組件顯示E-MAIL:范例:圖片描述信息 drawable-*/star_conf_file.xmlE-MAIL:將star_empty.png作為顯示圖片將star_empty.png作為第二進(jìn)度條圖片將star_full.png作為第二進(jìn)度條圖片本配置文件之中明確的定義出了三個(gè)屬性的內(nèi)容: 默認(rèn)的背景顯示圖片:+android:id/background; 第二進(jìn)度條的顯示圖片(未選中):+android:id/secondaryProgress; 第
10、一進(jìn)度條的顯示圖片(已選中):+android:id/secondaryProgress;要想使用此圖片顯示文件,還必須在values的文件夾之中為評分組件(Widget.RatingBar)配置以上的樣式, 所以定義一個(gè)values/style.xml文件進(jìn)行配置。范例:圖片描述信息 values/styles.xmlE-MAIL:定義資源定義使用此樣式的組件進(jìn)度條的顯示圖片drawable/star_conf_file為之前配置的圖片顯示風(fēng)格53dip圖片的最小高度53dip圖片的最大高度范例:在main.xml文件之中定義組件E-MAIL:mldnqa163.c
11、om布局管理器的高度為屏幕高度組件高度為顯示高度 組件高度為屏幕高度范例:定義Activity程序,對評分組件的操作進(jìn)行(A)E-MAIL:package org.lxh.demo;import android.app.Activity;import android.os.Bundle;import android.widget.RatingBar;import android.widget.TextView;public class MyRatingBarDemo extends Activity private RatingBar ratingBar = null
12、;/ 定義評分組件private TextView text = null;/ 文本顯示組件Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); super.setContentView(R.layout.main);this.ratingBar = (RatingBar) super.findViewById(R.id.ratingbar) ; this.ratingBar.setStepSize(1.0f) ;/ 設(shè)置步長this.text = (TextVie
13、w) super.findViewById(R.id.text) ;/ 取得組件this.ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListenerImpl();/ 設(shè)置范例:定義Activity程序,對評分組件的操作進(jìn)行(B)E-MAIL:private class OnRatingBarChangeListenerImpl implementsRatingBar.OnRatingBarChangeListener Overridepublic void onRatingChanged(RatingBar ratingBar, float rating,boolean fromUser) int num = (int) rating ;/ 取得當(dāng)前值String result = null ;/ 定義字符串保存結(jié)果switch (num) case 5:result = 非常滿意;/ 顯示信息break ;case 4:result = 滿意;/ 顯示信息break ;case 3:result = 還可以;/ 顯示信息break ;case 2:result = 不滿意;/ 顯示信息break ;cas
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大班幼兒運(yùn)動安全健康教育
- 海淀3年級下數(shù)學(xué)試卷
- 河北技校數(shù)學(xué)試卷
- 貴州近年高考數(shù)學(xué)試卷
- 醫(yī)院車輛安全管理課件
- 醫(yī)院藥械科管理課件
- 健康管理師實(shí)踐課件
- 建筑裝飾行業(yè)市場風(fēng)險(xiǎn)投資及運(yùn)作模式與投資融研究報(bào)告(2024-2030)
- 河北省“五個(gè)一”名校聯(lián)盟2025年物理高一第二學(xué)期期末聯(lián)考試題含解析
- 2025年中國日式墓石行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告
- 大學(xué)體育:輪滑教案
- 馬太效應(yīng)課件完整版
- 馬克思主義原著選讀課程
- 保障性租賃住房申請表
- 2023年中智總部及直屬單位個(gè)高管職位公開招聘筆試參考題庫附帶答案詳解
- iqc培訓(xùn)教材基礎(chǔ)課件
- GB/T 40861-2021汽車信息安全通用技術(shù)要求
- 中等職業(yè)學(xué)校藝術(shù)課程標(biāo)準(zhǔn)(2020年版)(word精排版)
- GB/T 15435-1995環(huán)境空氣二氧化氮的測定Saltzman法
- GB/T 1355-2021小麥粉
- 產(chǎn)科急危重癥的早期識別與處理考核試題及答案
評論
0/150
提交評論