Android+UI界面編程

Android+UI界面編程

ID:37925587

大?。?8.00 KB

頁數(shù):3頁

時(shí)間:2019-06-02

Android+UI界面編程_第1頁
Android+UI界面編程_第2頁
Android+UI界面編程_第3頁
資源描述:

《Android+UI界面編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、AndroidUI界面編程簡述ChateauAerlian布局菜單的生成對話框的生成UI事件處理在Android,有多種方法可以截取用戶與應(yīng)用程序之間的事件交互??紤]到用戶界面上的事件,可以通過用戶操作的界面所對應(yīng)的View對象來獲取。View類提供了相關(guān)的方法。在構(gòu)建界面布局時(shí),會(huì)使用到View類,其中有一些公共的回調(diào)函數(shù),對用戶界面事件是有用的。當(dāng)對應(yīng)的View上有事件發(fā)生時(shí),這些回調(diào)函數(shù)將被Android的Framework調(diào)用。例如,一個(gè)View(屬于一個(gè)Button)被觸摸點(diǎn)擊,onTouchEvent()方法將被

2、調(diào)用。為了去獲取該事件,開發(fā)者必須擴(kuò)展這個(gè)類,并且重載這個(gè)方法。但是,擴(kuò)展每一個(gè)View對象實(shí)例以便去獲取事件,這樣做是不實(shí)際的。這就是為什么View類也包含一些嵌套的接口,該接口和回調(diào)函數(shù)一起使用,方便定義。這些接口叫做事件監(jiān)聽,能通過他們來獲取用戶與界面的交互。當(dāng)經(jīng)常地使用事件監(jiān)聽時(shí),可能也會(huì)需要擴(kuò)展一個(gè)View類,以便去構(gòu)建一個(gè)用戶自定義元素。也許你希望去擴(kuò)展一個(gè)Button類去做一些其他事情。在該情況下,你將能夠通過使用eventhandlers去定義缺省的事件行為。事件監(jiān)聽一個(gè)事件監(jiān)聽是View類中的一個(gè)接口,其中

3、包含一個(gè)單一的回調(diào)方法。當(dāng)View監(jiān)聽被注冊并被用戶操作所觸發(fā)時(shí),Android框架將調(diào)用這些方法。OnClick()來自View.OnClickListener.,用戶點(diǎn)擊Item(Touch模式)、提起導(dǎo)航鍵、按下軌跡球、按下enter鍵時(shí)觸發(fā)。OnLongClick()來自View.OnLongClickListener.,用戶長按Item(Touch模式)、長按導(dǎo)航鍵、長按軌跡球、長按enter鍵。OnFocueChange()來自View.OnFocusChangeListener.,用戶使用軌跡球或者是導(dǎo)航鍵去移

4、動(dòng)光標(biāo)。OnKey()來自View.OnKeyListener,用戶按下或者釋放一個(gè)Key設(shè)備。OnTouch()來自View.OnTouchListener,用戶的觸摸事件,例如按下、釋放、移動(dòng)等。OnCreateContextMenu()來自View.OnCreateContextMenuListener,當(dāng)一個(gè)ContextMenu被構(gòu)建時(shí)觸發(fā)。上述方法是他們對應(yīng)的接口的常見處理。定義其中的一個(gè)方法然后處理事件。在Activity中實(shí)現(xiàn)嵌套接口,或者定義他們?yōu)橐粋€(gè)未命名的類。然后,將實(shí)現(xiàn)的實(shí)例傳遞給對應(yīng)的View.se

5、t…Listener方法。例如://CreateananonymousimplementationofOnClickListenerprivateOnClickListenermCorkyListener=newOnClickListener(){??publicvoidonClick(Viewv){???//dosomethingwhenthebuttonisclicked??}};protectedvoidonCreate(BundlesavedValues){??...??//Captureourbuttonfroml

6、ayout??Buttonbutton=(Button)findViewById(R.id.corky);??//RegistertheonClicklistenerwiththeimplementationabove??button.setOnClickListener(mCorkyListener);??...}onLongClick()返回TURE,已處理,F(xiàn)ALSE,未處理,可以給其他監(jiān)聽者處理onKey()返回TURE,已處理,F(xiàn)ALSE,未處理,可以給其他監(jiān)聽者處理onTouch(),返回FALSE,則其后的事件

7、也不關(guān)心鍵盤事件總是傳遞到當(dāng)前有光標(biāo)的View。他們總是從View布局架構(gòu)的頂端開始往下傳遞,直到抵達(dá)合適的目的地。如果你的View(可能是SubView)當(dāng)前擁有光標(biāo),則能夠發(fā)現(xiàn)事件經(jīng)過了Dispatchkeyevent()方法。如果需要通過View處理所有的key事件,則可以在Activity的onkeyDown(),onKeyUp()中接收到事件。返回Ture,將終止事件,事件不再向其他監(jiān)聽者發(fā)送。事件處理如果通過一個(gè)VIEW構(gòu)建一個(gè)自定義的元素,則你能夠定義一些回調(diào)函數(shù)用作缺省的事件處理。包括:onKeyDown(i

8、nt,KeyEvent)–新按鍵發(fā)生onKeyUp(int,KeyEvent)-按鍵UponTrackballEvent(MotionEvent)–軌跡球事件onTouchEvent(MotionEvent)–屏幕上移動(dòng)onFocusChanged(boolean,int,Rect)–Vi

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。