




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、求知若渴 求真教育第四章. Android基礎(chǔ)控件andro d學(xué)習(xí)目標(biāo):掌握View的常用事件掌握Android中基礎(chǔ)控件和常用屬性掌握各種控件的動(dòng)態(tài)創(chuàng)建和屬性設(shè)置掌握各種控件的獨(dú)有事件第四章. Android基礎(chǔ)控件 1.View常用事件接口 View的事件設(shè)置的幾種方法 2.基礎(chǔ)組件EditText編輯框常用屬性事件RadioGroup與RadioButton單選按鈕常用屬性事件 CheckBox 多選按鈕Datcker&TimckerChronometer計(jì)時(shí)器 初識(shí)CountDownTimer3.學(xué)員作業(yè)課程內(nèi)容:1.View常用事件接口View的事件View的事件些動(dòng)作進(jìn)行處理是指
2、用戶與應(yīng)用交互,當(dāng)用戶對(duì)View進(jìn)行點(diǎn)擊,長(zhǎng)按,觸摸,移動(dòng)等動(dòng)作時(shí),程序?qū)@OnC ckL s enerOnLongC ckL s ener OnToucheL s ener點(diǎn)擊V ew時(shí)的長(zhǎng)按V ew時(shí)的觸摸V ew時(shí)的Android 系統(tǒng)中,OnClickListener 是一種處理的是點(diǎn)擊事件的接口。pub c vo d onC ck(V ew v)/參數(shù)v為事件源控件,當(dāng)長(zhǎng)時(shí)間按下此控件時(shí)才會(huì)觸發(fā)該方法。/當(dāng)多個(gè)組件共用同一個(gè)器時(shí),用來(lái)區(qū)分組件在AndroidApp應(yīng)用中,OnLongClick事件表示長(zhǎng)按2秒以上觸發(fā)的事,OnLongClickListener接口與 OnClickL
3、istener接口原理基本相同,只是該接口為View長(zhǎng)按事件的捕捉接口,即當(dāng)長(zhǎng)時(shí)間按下某個(gè) View時(shí)觸發(fā)的事件,該接口對(duì)應(yīng)的回調(diào)方法簽名如下pub c boo ean onLongC ck(V ew v)/參數(shù)v為事件源控件,當(dāng)長(zhǎng)時(shí)間按下此控件時(shí)才會(huì)觸發(fā)該方法。/當(dāng)多個(gè)組件共用同一個(gè)器時(shí),用來(lái)區(qū)分組件/返回值:該方法的返回值為一個(gè)boo ean類型的變量,/當(dāng)返回 rue時(shí),表示已經(jīng)完整地處理了這個(gè)事件,并不希望其他的回調(diào)方法再次進(jìn)行處理;/當(dāng)返回fa se時(shí),表示并沒有完全處理完該事件,更希望其他方法繼續(xù)對(duì)其進(jìn)行處理。您需要記住以下幾點(diǎn):1)器是個(gè)接口,它包含了一個(gè)事件觸發(fā)時(shí)系統(tǒng)會(huì)去調(diào)用的
4、函數(shù)2) 在實(shí)現(xiàn)類中,根據(jù)您項(xiàng)目的需要重寫這個(gè)函數(shù)3) 實(shí)現(xiàn)后的器需要綁定到按鈕上,就像一個(gè)耳機(jī)可以發(fā)出聲音,但您不去戴它,您是聽不到它發(fā)出的。一般的情況是這個(gè)View可能需要這個(gè)器,而另外一個(gè)View需要另外一個(gè)器,每個(gè)監(jiān)各司其職,但功能相似時(shí),也可以多個(gè)按鈕共同綁定一個(gè)器。4) 各種控件,都有常用的事件,綁定器的函數(shù)命名規(guī)則是setOn*Listener在Activity中,使用View findViewById(resId)方法與布局中的控件綁定設(shè)置的幾種方法1) 讓Activity實(shí)現(xiàn)接口pubc c ass Ma nAc v y ex ends Ac v yp e en s OnCO
5、verr deckLsener pro ec ed vo d onCrea e(Bund esuper.onCrea e(savedIns ansavedIns an a e);v y_ a n);a e) seen V ew(R. ayou .acBu on backback.se OnC= (Bu on) f ndV ewById(R. d.back);ckL s ener( h s);Overr depub c vo d onC/點(diǎn)擊事件ck(V ew v) 2)內(nèi)部類pubc c ass Ma nAcv y ex ends Ac v yOverr depro ec ed vo d on
6、Crea e(Bund e super.onCrea e(savedIns ansavedIns an a e);v y_ a n);a e) seen V ew(R. ayou .acBu on back = (Bu on) f ndV ewById(R. d.back);back.se OnC ckL s ener(new OnC ckL s ener() Overr depub c vo d onC ck(V ew v) /點(diǎn)擊事件);3) onClick可以在xml中設(shè)置然后在代碼中建立點(diǎn)擊事件方法必須是public void 名稱同android:onClick(View v)pub
7、 c vo d bu onC/點(diǎn)擊事件ck(V ew v)4) 實(shí)現(xiàn)類pub c c ass MyC ck Overr depub c vo d onC/點(diǎn)擊事件Overr dep e en s OnC ckL s enerck(V ew v) pro ec ed vo d onCrea e(Bund esuper.onCrea e(savedIns ansavedIns an a e);v y_ a n);a e) se BuMyCen V ew(R. ayou .acon back = (Bu on) f ndV ewById(R. d.back);cks ener = new MyC c
8、k();OnC ckL s ener( s ener);back.se5) 成員變量pr va e OnCckL s eners ener = new OnC ckL s ener()Overr depub c vo d onC ck(V ew v) /點(diǎn)擊事件;Overr depro ec ed vo d onCrea e(Bund e super.onCrea e(savedIns ansavedIns an a e);v y_ a n);a e) seen V ew(R. ayou .acBu on back = (Bu on) f ndV ewById(R. d.back);back.
9、se OnC ckL s ener( s ener);2.基礎(chǔ)組件yEditText編輯框EditText繼承于TextView,擁有TextView中所有的屬性和方法,一般用來(lái)提供給用戶進(jìn)行文字,輸入操作等常用屬性andro d:cap a ze 設(shè)置英文字母大寫類型。設(shè)置如下值:/sen en僅第一個(gè)字母大寫;/words每一個(gè)單詞首字母大小,用空格區(qū)分單詞;/characers每一個(gè)英文字母都大寫。在模擬器上用PC鍵盤直接輸入可以出效果,但是用軟鍵盤無(wú)效果andro andro andro。androd:d gd:ed d:h nsab設(shè)置允許輸入哪些字符。如“1234567890. -
10、*/%n()”設(shè)置是否可編輯。仍然可以獲取光標(biāo),但是無(wú)法輸入。Tex 為空時(shí)顯示的文字提示信息,可通過(guò) ex Co orH n 設(shè)置提示信息的顏色ed: eOp/nor/aons aGo,設(shè)置軟鍵盤的En er鍵。可用 設(shè)置多個(gè),有如下值可設(shè)置:默認(rèn),換行軟鍵盤下方變成“前往” “去往” “GO” 根據(jù)輸入法不同而不同(下面同)。/a/a/a/aSearch, Send Nex , Done軟鍵盤下方變成“搜索”或者放大鏡。軟鍵盤下方變成“發(fā)送”。軟鍵盤下方變成“下一個(gè)”。軟鍵盤下方變成“完成”,點(diǎn)擊后光標(biāo)保持在原來(lái)的輸入框上,并且軟鍵盤關(guān)閉androandro androd: npuType
11、設(shè)置文本的類型,用于幫助輸入法顯示合適的鍵盤類型。V ew的寬度為N個(gè)字符的寬度。參見Tex V ew中此屬性的截圖。限制輸入字符數(shù)。如設(shè)置為5,那么僅可以輸入5個(gè)漢字/數(shù)字/英文字母。d:e s 設(shè)置Tex d: axLeng h事件EditText作為用戶輸入組件,使用頻率非常高,而且當(dāng)文字的改變,修改Enter鍵后,都要去處理Enter鍵事件Ed Tex e Done = (Ed Tex ) f ndV ewById(R. d.e Done);注:EditText大部分屬性都屬于TextView,但在TextView上設(shè)置沒有效果所有的控件都可以在java代碼中創(chuàng)建出來(lái),并且大部分的屬性
12、都對(duì)應(yīng)set與get方法,比如V ew v ew= new V ew(exex )ex 是上下文,是Ac v y父類,一般傳入當(dāng)前Ac v/設(shè)置En er按鍵處理事件e DoOnEd orAL s ener(new OnEd orAL s ener() Overr depub c boo ean onEd orA(Tex V ew v, naId, KeyEven even )/處理/a/evenId 當(dāng)前事件組件的資源ID,用來(lái)區(qū)分多個(gè)Ed Tex 用同一個(gè)事件源,封裝了當(dāng)前操作動(dòng)作器re urn fase;);文字改變Ed Tex e Done = (Ed Tex ) f ndV ewBy
13、Id(R. d.e Done);/添加一個(gè)文字改變時(shí)e Done.addTex ChangedL s ener(new Tex Wa cher() Overr depub c vo d onTex Changed(CharSequen, n s ar , n before, n coun) /文字改變時(shí) 回調(diào)此方法Overr depub c vo d beforeTex Changed(CharSequen n af er) /文字改變之前, n s ar , n coun ,Overr depub c vo d af erTex Changed(Ed ab e s) /文字改變之后0.);R
14、adioGroup與RadioButton單選按鈕RadioButton是Button的子類,所以可以直接使用Button支持的各種屬性,如果需要多個(gè)按鈕同時(shí)只能被選中一個(gè),需要放在同一個(gè)RadioGroup組中。RadioGroup是LinearLayout的子類,默認(rèn)為從上到下排列子元素,如果需要改變成橫向,需要設(shè)置android:orienion為horizontalRad a)b)c)d)e)oBu on和Rad oGroup的關(guān)系:Rad oBu on表示單個(gè)圓形單選框,而Rad oGroup是可以容納多個(gè)Rad oBu on的容器每個(gè)Rad oGroup中的Rad oBu on同時(shí)
15、只能有一個(gè)被選中不同的Rad oGroup中的Rad oBu on互不相干,即如果組A中有一個(gè)選中了,組B中依然可以有一個(gè)被選中大部分場(chǎng)合下,一個(gè)Rad oGroup中至少有2個(gè)Rad oBu on大部分場(chǎng)合下,一個(gè)Rad oGroup中的Rad oBu on默認(rèn)會(huì)有一個(gè)被選中,并建議您將它放在Rad oGroup中的起始位置常用屬性RadioGroup常用屬性andro d:checkedBu on 值為數(shù)字,這是子單選按鈕應(yīng)該在默認(rèn)情況下此單選組內(nèi)選中的ID事件當(dāng)RadioGroup中的選中項(xiàng)變更后,常常需要處理其他視圖,比如,變更成“女”后,可能需要顯示符合該的頭像列表進(jìn)行更新。Radi
16、oGroup的子控件改變位于android.widget.RadioGroup.OnCheckedChangeListenergroup.se OnCheckedChangeL s ener(new Rad oGroup.OnCheckedChangeL s ener() Overr depub c vo d onCheckedChanged(Rad oGroup group, n checkedId) /其中實(shí)現(xiàn)方法中的checkedId代表當(dāng)前組中,選中的 d號(hào),每次組中按鈕選擇被改變都會(huì)調(diào)用次/如果組中按鈕未給 d,那么會(huì)按照當(dāng)前組中的位置排序,從1開始/但是需要注意,在頁(yè)面切換時(shí),此
17、d會(huì)一直增長(zhǎng),一般使用取余%的方法防止空指針/checkedId%group.ge Ch dCoun ();RadioButton的選中改變時(shí)位于poundButton.OnCheckedChangeListenerrad oBu on.se OnCheckedChangeL s ener(newCo poundBu on.OnCheckedChangeL s ener() 注意:RadioGroup的事件和RadioButton的設(shè)置事件名稱雖然一樣,都是 setOnCheckedChangeListener();并且傳入的類名也一樣OnCheckedChangeListener,但是類并不
18、是同一個(gè),屬于不同包下的類,如果這兩個(gè)類都需要實(shí)例化,那么可以用包名去區(qū)分,View的 OnClick事件和Dialog的OnClick事件也是同理。Overr depub c vo d onCheckedChanged(Co poundBu on bu onV ew, boo ean sChecked) 其中實(shí)現(xiàn)方法中的 s hd代表當(dāng)前u Bun的選中狀態(tài)方法,傳入 rue/當(dāng)一個(gè)組中的按鈕選中改變時(shí),會(huì)先調(diào)用當(dāng)前選中的/接著會(huì)調(diào)用前一個(gè)被選中的按鈕,傳入fa se。);CheckBox 多選按鈕CheckBox和Button一樣,也是一種古老的控件,它的優(yōu)點(diǎn)在于,不用用戶去填寫具體的信息
19、,只需輕輕點(diǎn)擊,缺點(diǎn)在于只”和“否”兩種情況,但往往利用它的這個(gè)特性,來(lái)獲取用戶的一些信息。如一個(gè)表單中,常常讓用戶填寫“是否已經(jīng)結(jié)婚”,顯然讓用戶去填寫“是”或“否”是不合理的,理想的情景是用如下控件:Datcker&Timcker在Android程序中,是:通常需要使用Datcker來(lái)設(shè)置日期,Timcker來(lái)設(shè)置時(shí)間。其基本步驟先定義Datcker和Timcker布局然后通過(guò)Calendar類獲得系統(tǒng)時(shí)間接著通過(guò)init方法將日期傳遞給Datcker初始化日期控件,在響應(yīng)點(diǎn)擊事件中可以通過(guò)Datcker的getYear()、getDayOfMonth()、getMonth()函數(shù)獲取具體
20、日期,同時(shí)可以在OnDateChangedListener事件中日期變化,設(shè)置時(shí)間函數(shù)方法同理。Chronometer計(jì)時(shí)器計(jì)時(shí)器組件就是一個(gè)可以顯示從某個(gè)起始時(shí)間開始,一共過(guò)去了多長(zhǎng)時(shí)間的文本,使用Chronometer.由于該組件繼承自己TextView,所以它將法本的形式顯示內(nèi)容,該組件也比較簡(jiǎn)單,通常只需要使用以下5個(gè)方CheckBox與RadioButton的事件相同,都是poundButton.OnCheckedChangeListenersetBase():用于設(shè)置計(jì)時(shí)器的超始時(shí)間 setFormat():用于顯示時(shí)間的格式Format()的信息參數(shù)設(shè)置為”已用時(shí)間:%s” start():用于指定開始計(jì)時(shí)stop():用于指定停止時(shí)間 setOnChronometerTickListener():用于為計(jì)時(shí)器綁定事件器,當(dāng)計(jì)時(shí)器改變時(shí)觸發(fā)該器初識(shí)CountDownTimer定時(shí)執(zhí)行在一段時(shí)候后停止的倒計(jì)時(shí),在倒計(jì)時(shí)執(zhí)行過(guò)程中會(huì)在固定間隔時(shí)間得到通知onTick的調(diào)用是同步的,保證這次調(diào)用不會(huì)在之前調(diào)用完成前
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小自考行政管理復(fù)習(xí)建議要點(diǎn)試題及答案
- 2025《租賃合同全文》
- 高三中化學(xué)年二輪復(fù)習(xí)專題練習(xí)合成有機(jī)高分子化合物
- 2025年寧夏回族自治區(qū)中衛(wèi)市九年級(jí)中考模擬語(yǔ)文試題(含答案)
- 教父讀書分享課件
- 推動(dòng)現(xiàn)代化大農(nóng)業(yè)發(fā)展與實(shí)施路徑
- 2025消防設(shè)備維護(hù)保養(yǎng)合同
- 低空經(jīng)濟(jì)產(chǎn)業(yè)園發(fā)展投資方案
- 2025非本地員工勞動(dòng)合同協(xié)議書
- 吉林司法警官職業(yè)學(xué)院《中國(guó)史學(xué)史(上)》2023-2024學(xué)年第二學(xué)期期末試卷
- 教師規(guī)范漢字書寫培訓(xùn)
- 2024年新疆醫(yī)科大學(xué)附屬腫瘤醫(yī)院招聘事業(yè)單位考試真題
- 2025年《宏觀經(jīng)濟(jì)政策與發(fā)展規(guī)劃》核心備考題庫(kù)(含典型題、重點(diǎn)題)
- 【百?gòu)?qiáng)校】【黑吉遼卷】黑龍江省哈爾濱市第三中學(xué)2025年高三學(xué)年第一次模擬考試(哈三中一模)語(yǔ)文試卷
- 腫瘤化學(xué)療法的護(hù)理
- 2025至2030年中國(guó)網(wǎng)球撿球籃數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 角膜塑形鏡試戴片參數(shù)選擇和配適評(píng)估鞏朝雁課件
- 2025年河南經(jīng)貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)1套
- Unit 1 Laugh out Loud!Understanding ideas-The Best Medicine 說(shuō)課稿-2024-2025學(xué)年高中英語(yǔ)外研版(2019)選擇性必修第一冊(cè)
- 2024年西安經(jīng)濟(jì)技術(shù)開發(fā)區(qū)管委會(huì)招聘筆試真題
- 2024年湖北工程職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論