Android移動應用觸摸屏的實現(xiàn)和優(yōu)化方案
![Android移動應用觸摸屏的實現(xiàn)和優(yōu)化方案](http://editerupload.eepw.com.cn/fetch/20130905/164823_2_0.jpg)
圖3 主角控制時區(qū)域的劃分
圖 3 所示的是主角移動時候的區(qū)域劃分,以水平和垂直坐標軸的交點作為主角的坐標中心點,將主角周邊的區(qū)域劃分為10 個區(qū)域,觸點在區(qū)域9-10 的時候方向向右,對稱的區(qū)域5-6 的時候方向向左,區(qū)域7-8 的時候方向向下。對于區(qū)域1-4 進行進一步的劃分,2-3 區(qū)域方向向上,只響應向上的操作,區(qū)域1 同時響應右鍵和上鍵,區(qū)域4 同時響應左鍵和上鍵。這樣對區(qū)域進行細化符合實際情況,區(qū)域1 和區(qū)域4 的角度范圍可以根據(jù)實際情況微調。
![](http://editerupload.eepw.com.cn/fetch/20130905/164823_2_1.jpg)
以主角為中心劃分主角周邊的區(qū)域以后,斜上方區(qū)域響應斜上方的鍵控,即響應上鍵的時候同時響應左鍵或者右鍵;右邊區(qū)域響應右鍵;上下區(qū)域分別響應上和下鍵,響應按鍵后執(zhí)行對應的觸摸按鍵操作,這樣按照區(qū)間劃分區(qū)域具有很好的用戶體驗。這的注意的是,主角操控的觸摸鍵控一定得對應觸摸按鍵的釋放,要不然系統(tǒng)接收用戶的觸摸響應后對應的邏輯會一直執(zhí)行下去。當event.getAction()狀態(tài)為MotionEvent.ACTION_UP 時執(zhí)行觸摸按鍵的釋放,觸摸按鍵釋放的操作如下:
if ((player.keyStatus SonicPlayer.KEY_LEFT) == SonicPlayer.KEY_LEFT)
{player.keyUp(SonicPlayer.KEY_LEFT);}//釋放具體的觸摸響應
觸摸屏接口設計模塊的改進在于根據(jù)主角的中心點細化區(qū)域,然后根據(jù)劃分的區(qū)域執(zhí)行相應的操作,同時在觸摸的響應時增加了計數(shù)變量。
4 結論
Android 平臺的觸摸響應是非常重要的,本身的觸摸事件處理機制比較復雜,但是觸摸響應實現(xiàn)時非常簡單,只需實現(xiàn)相關方法即可。應用的觸屏響應主要分為菜單界面的觸摸響應和游戲界面的觸摸響應,這兩部分的實現(xiàn)機制是相同的,只不過劃定觸摸范圍的方法不同。
在菜單各個界面中主要依靠菜單中各個圖片相對屏幕的像素位置來確定觸摸范圍,然后實現(xiàn)觸屏響應;在游戲界面主要以主角為中心,根據(jù)上述的區(qū)域范圍劃分來確定觸摸范圍和相應的操作。在實現(xiàn)觸摸方法的過程中,觸摸臨時計數(shù)變量的設置非常必要,起到緩沖的作用,防止一次觸摸鍵控不釋放引發(fā)多個界面的響應。本論文主要對Android 平臺的觸摸響應進行了實現(xiàn)和優(yōu)化,大大增強了用戶體驗,具有很強的應用價值。
評論