android中多點觸控開發紀要

2021-10-23 20:36:08 字數 2929 閱讀 9840

筆者在專案開發中,碰到過針對螢幕的五指觸控測試需求,實現方式為可以自定義個view,然後在ontouchevent()方法中對motionevent進行處理,核心**如下,要注意的地方在注釋中已做說明。

@override

public boolean ontouchevent(motionevent event)

multidownx[i] = event.getx

(id)

; multidowny[i] = event.gety

(id)

; log.d

("xjg", "ontouchevent(), id = " + id + " , event.getx(id) = " + event.getx

(id)

+ " , event.gety(id) = " + event.gety

(id));

} multimovepath.get

(0).moveto

(multidownx[0], multidowny[0])

; multimovepath.get

(1).moveto

(multidownx[1], multidowny[1])

; multimovepath.get

(2).moveto

(multidownx[2], multidowny[2])

; multimovepath.get

(3).moveto

(multidownx[3], multidowny[3])

; multimovepath.get

(4).moveto

(multidownx[4], multidowny[4])

;invalidate()

;}break;

case motionevent.action_move

: downtouched = false;

fingerup = false;

movestopx = event.getrawx()

; movestopy = event.getrawy()

; movepath.lineto

(movestopx, movestopy)

; //五個手指頭的move事件處理

if (pointercount == 5)

multimovestopx[i] = event.getx

(id)

; multimovestopy[i] = event.gety

(id)

; log.d

("xjg", "ontouchevent(), move id = " + id + " , event.getx(id) = " + event.getx

(id)

+ " , event.gety(id) = " + event.gety

(id));

} multimovepath.get

(0).lineto

(multimovestopx[0], multimovestopy[0])

; multimovepath.get

(1).lineto

(multimovestopx[1], multimovestopy[1])

; multimovepath.get

(2).lineto

(multimovestopx[2], multimovestopy[2])

; multimovepath.get

(3).lineto

(multimovestopx[3], multimovestopy[3])

; multimovepath.get

(4).lineto

(multimovestopx[4], multimovestopy[4]);}

invalidate()

; break;

case motionevent.action_up

: mode = mode_none;

downtouched = false;

fingerup = true;

movepath.reset()

; downx = -1;

downy = -1;

movestopx = -1;

movestopy = -1;

invalidate()

;checkmigreen()

; break;

case motionevent.action_pointer_up:

//五個指頭up事件

if (pointercount == 5)

}invalidate()

;checkmigreen()

; break;

default

: downtouched = false;

break;

} return true;

}在這裡插入**片

android 多點觸控

下面是一些常用的函式解釋 copy過來滴.event.getaction 獲取觸控動作比如action down event.getpointercount 獲取觸控點的數量,比如2則可能是兩個手指同時按壓螢幕 event.getpointerid nid 對於每個觸控的點的細節,我們可以通過乙個迴...

Android開發中實現多點觸控的方法

多點觸控技術在實際開發過程中,用的最多的就是放大縮小功能。比如有一些瀏覽器,就可以用多個手指在螢幕上操作,對進行放大或者縮小。再比如一些瀏覽器,也可以通過多點觸控放大或者縮小字型。其實放大縮小也只是多點觸控的實際應用樣例之一,有了多點觸控技術,在一定程度上就可以創新出更多的操作方式來,實現更酷的人機...

關於android多點觸控

最近專案需要乙個多點觸控縮放的功能。然後上網查了下資料 總結一下 首先android sdk版本很重要,比如你在androidmanifest.xml中指定android minsdkversion 4 並且建工程的時候選的是android 2.2就表示你的應用相容android1.6 androi...