<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Android平臺消息響應機制的研究及其觸摸屏響應的優(yōu)化實(shí)現

Android平臺消息響應機制的研究及其觸摸屏響應的優(yōu)化實(shí)現

作者: 時(shí)間:2012-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏
0 引言

近些年來(lái),隨著(zhù)3G 網(wǎng)絡(luò )的大規模建設和智能手機的迅速普及,移動(dòng)互聯(lián)網(wǎng)時(shí)代已經(jīng)到來(lái)。作為Google 推出的一款操作系統, 自問(wèn)世以來(lái)就吸引了人們廣泛的關(guān)注,受到眾多廠(chǎng)商和開(kāi)發(fā)者的青睞。 是一個(gè)開(kāi)放、完整、免費的手機,強大的開(kāi)源特性吸引了越來(lái)越多的開(kāi)發(fā)者,的版本如今已由最初的1.1 升級到最新的4.0,功能越來(lái)越強大,用戶(hù)體驗越來(lái)越好,在A(yíng)ndroid 上發(fā)布的應用產(chǎn)品更加豐富多彩。

Android 上的應用越來(lái)越多,人們對應用的要求越來(lái)越高?,F階段觸屏手機是趨勢,觸摸是人們與應用交互的主流方式,人們對觸摸的靈敏度,簡(jiǎn)易性和方便度要求越來(lái)越高,有必要優(yōu)化應用的觸摸效果。

1 Android 平臺的觸摸機制

一般而言,事件是用戶(hù)與UI(圖形界面)進(jìn)行交互的時(shí)候所觸發(fā)的操作。例如在手機屏幕上觸摸特定的區域就會(huì )觸發(fā)對應的事件,在A(yíng)ndroid 中這些事件將被傳送到事件處理器,它是一個(gè)專(zhuān)門(mén)接受事件對象并對其進(jìn)行翻譯和處理的方法。

在 Android 中用戶(hù)事件響應是很重要的,用戶(hù)消息主要來(lái)源于3 種硬件外部設備:(ONTouch系列方法)、按鍵響應(onKey系列方法)和軌跡球(Trackball)。不論我們是通過(guò)觸摸方式與屏幕交互,還是使用軌跡球來(lái)交互,任何與屏幕相關(guān)的交互都是與屏幕相應位置上的視圖控件的交互?,F在 Android 系統的手機幾乎全是觸屏,基本的按鍵越來(lái)越少,觸摸屏響應成為發(fā)展的大趨勢,所以在應用設計的時(shí)候主要考慮觸摸的效果問(wèn)題,著(zhù)重優(yōu)化用戶(hù)。

圖1 Android 平臺用戶(hù)流程

圖 1 詳細說(shuō)明了各種用戶(hù)操作被系統捕獲的過(guò)程。系統捕獲用戶(hù)的響應后,由Linux 驅動(dòng)捕獲用戶(hù)的消息,經(jīng)過(guò)Android 框架層的AcTIvity Manager 的作用傳遞給Activity中的系統方法,通過(guò)執行相應的系統方法更新View 類(lèi),消息傳遞至Application Framework 層,最后調用Linux 驅動(dòng),控制著(zhù)界面的繪制和更新。在A(yíng)ndroid 工程中,觸摸相關(guān)的接口函數主要封裝在android.view.KeyEvent 類(lèi)中,寫(xiě)觸摸屏操控的時(shí)候首先導入該類(lèi)的包,在A(yíng)ctivity的子類(lèi)中對該方法進(jìn)行說(shuō)明即可。Android 的事件處理機制相對簡(jiǎn)單,對于事件處理機制不必詳細理解,實(shí)現各種響應時(shí)只需具體實(shí)現各個(gè)方法即可,各個(gè)方法的具體實(shí)現在View類(lèi)中進(jìn)行,下面著(zhù)重說(shuō)明Android 平臺的實(shí)現。

2 Android 平臺觸摸響應的實(shí)現

一般而言在 Android 中,對于觸摸事件的處理如同UI 事件一樣,主要通過(guò)兩種方法來(lái)處理,一種是利用View 類(lèi)的onTouchEvent()方法,一種是實(shí)現OnTouchLiSTener 接口的onTouch()方法。系統中當這兩種方法都存在的前提下,系統將會(huì )優(yōu)先采用OnTouchListener接口回調方法進(jìn)行處理。一般在簡(jiǎn)單的UI 設計界面重寫(xiě)onTouchListener()方法,涉及到多個(gè)Activity 切換時(shí)在方法中實(shí)現Activity 信息保存與跳轉即可。

對于大型應用而言,界面狀態(tài)比較復雜,觸摸響應需要詳細處理,系統提供了一個(gè)專(zhuān)門(mén)用于處理用戶(hù)觸摸事件的接口函數onTouchEvent()。實(shí)際開(kāi)發(fā)過(guò)程中只需先聲明此接口函數,然后在主View類(lèi)中重寫(xiě)該函數實(shí)現具體的觸摸效果即可。下面是接口函數的聲明:

  
觸屏監聽(tīng)方法中只有一個(gè)MotionEvent event 參數,此類(lèi)的實(shí)例中保存了玩家觸屏的各種動(dòng)作,常見(jiàn)的有:按下動(dòng)作、移動(dòng)動(dòng)作、多點(diǎn)觸屏、屏幕壓力等,在此類(lèi)中定義了很多動(dòng)作的靜態(tài)常量值,通過(guò)event.getAction()方法獲取玩家的動(dòng)作與所需動(dòng)作常量值進(jìn)行匹配。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>