一级毛片免费不卡在线视频,国产日批视频免费在线观看,菠萝菠萝蜜在线视频免费视频,欧美日韩亚洲无线码在线观看,久久精品这里精品,国产成人综合手机在线播放,色噜噜狠狠狠综合曰曰曰,琪琪视频

Android多點觸控技術(shù)和應(yīng)用框架 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【www.oriental01.com - 電腦資料】

    Android多點觸控技術(shù)跟Linux輸入子系統(tǒng)緊密相關(guān),

Android多點觸控技術(shù)和應(yīng)用框架

。本文將從應(yīng)用的角度說明Android多點觸控技術(shù)的接口和應(yīng)用。

    一、多點觸控場景分析

    網(wǎng)絡(luò)上有關(guān)Android多點觸控技術(shù)的文章多見于兩點拉伸進行圖片放大縮小。對于,這個場景有兩個特點:

    1)兩點,而不是更多點;

    2)對于觸點的移動事件(MotionEvent.ACTION_MOVE),只需要計算兩點的距離,進而判斷兩個點之間的距離是變大還是縮小,實現(xiàn)圖片放大或者縮小。

    這個過程并不需要記錄這兩個點和之前的兩個點的關(guān)系。這樣講比較抽象,我們可以用一個例子來解釋。如下圖:

   

    假設(shè)一個人拿著5支筆同時寫linux這個單詞的一個字母,那就得知道當前的5個觸點里面的每個觸點和之前的觸點的對應(yīng)關(guān)系,才能做到一支筆畫一個字母。

    這個場景基本上能夠覆蓋到android多點觸控的所有接口的應(yīng)用了。我們先來介紹接口,最后給出多點觸控的應(yīng)用框架,它理論上可以處理很多點的觸控,而不僅僅是2點或者5點。

    二、Android多點觸控接口

    1.onTouchEvent

    重載Activity的onTouchEvent接口以處理觸控信息。

    public booleanonTouchEvent(MotionEvent event)

    2.event.getAction

    該接口與MotionEvent.ACTION_MASK想與可以得到觸控按鍵的類型,如按下、彈起和移動。

    1)MotionEvent.ACTION_DOWN 第一個觸控點按下,

電腦資料

Android多點觸控技術(shù)和應(yīng)用框架》(http://www.oriental01.com)。

    2)MotionEvent.ACTION_POINTER_DOWN 屏幕上已經(jīng)有1個或者多個觸點的情況下再按下一個點。

    3)MotionEvent.ACTION_UP 最后一個觸點彈起

    4)MotionEvent.ACTION_POINTER_UP 非最后一個觸點彈起。

    5)MotionEvent.ACTION_MOVE 觸點移動事件

    3.event.getActionIndex()

    獲得觸控點的索引,其代表觸控點在所有觸控點中的序號。例如A、B、C三個點依次按下,那么分別對應(yīng)的index是0、1、2。假設(shè)B點彈起,此時A、C的index將是0、1。這時假如新按一個點D,那A、C、D的index將是0、1、2。

    從中我們發(fā)現(xiàn),C點的index會因為其他點的彈起而變化。所以不能用該值來跟蹤同一個點。

    4.event.getPointerId(actionIndex)

    通過觸控點索引來獲得觸控點的唯一標識。其自觸點被按下開始,直到彈起,該值都不會發(fā)生變化,其是觸點的一個身份ID。例如A、B、C三個點依次按下,那么分別對應(yīng)的ID是0、1、2。假設(shè)B點彈起,此時A、C的ID依然是0、2。這時假如新按一個點D,那A、C、D的ID將是0、2、1。新增的觸點的ID會從0開始遞增,發(fā)現(xiàn)未用值即拿來用。

    5.獲得觸點坐標

    event.getX(actionIndex)、event.getY(actionIndex)獲得觸點距離所屬的View的坐標。event.getRawX(actionIndex)、event.getRawY(actionIndex)獲得觸點距離屏幕左上角的坐標。

    三、多點觸控應(yīng)用框架

   

最新文章