下面是一些常用的函式解釋(copy過來滴....)
event.getaction() //獲取觸控動作比如action_down
event.getpointercount(); //獲取觸控點的數量,比如2則可能是兩個手指同時按壓螢幕
event.getpointerid(nid); //對於每個觸控的點的細節,我們可以通過乙個迴圈執行getpointerid方法獲取索引
event.getx(nid); //獲取第nid個觸控點的x位置
event.gety(nid); //獲取第nid個點觸控的y位置
event.getpressure(nid); //lcd可以感應出使用者的手指壓力,當然具體的級別由驅動和物理硬體決定的
event.getdowntime() //按下開始時間
event.geteventtime() // 事件結束時間
event.geteventtime()-event.getdowntime()); //總共按下時花費時間
下面是乙個例子,其實很簡單,不過是拷貝過來的,放在這裡可以備忘,以後的學習.......:
**如下:
[html]view plain
copy
print?
package com.xy.multitouchvisible;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.view.motionevent;
import android.view.su***ceholder;
import android.view.su***ceview;
public class myview extends su***ceview implements su***ceholder.callback
private void init()
} /*
* 處理觸屏事件
*/
@override
public boolean ontouchevent(motionevent event)
// 鎖定canvas,開始進行相應的介面處理
canvas c
= getholder
().lockcanvas();
if (c != null) else
for (int i= 0
; i
<
pointercount
; i++)
} // 畫完後,unlock
getholder().unlockcanvasandpost(c);
} return true;
} /**
* 畫十字及座標資訊
*/
private void drawcrosshairsandtext(int x, int y, paint paint, int ptr,
int id, canvas c)
/**
* 畫圓
*/
private void drawcircle(int x, int y, paint paint, canvas c)
@override
public void su***cechanged(su***ceholder holder, int format, int width,
int height)
} @override
public void su***cecreated(su***ceholder holder)
@override
public void su***cedestroyed(su***ceholder holder)
}
關於android多點觸控
最近專案需要乙個多點觸控縮放的功能。然後上網查了下資料 總結一下 首先android sdk版本很重要,比如你在androidmanifest.xml中指定android minsdkversion 4 並且建工程的時候選的是android 2.2就表示你的應用相容android1.6 androi...
android如何怎麼禁止多點觸控
不積跬步無以至千里 在乙個頁面裡做了個對講的操作,對講需要長按操作,但是發現碰觸介面其他位置,會中斷,通過監聽這個view的ontouchevent,其中的motionevent中的action,發現當觸碰別的地方的時候,會把這個按鈕的down事件中斷。因此這裡是多點觸碰的問題。多點觸控的方法如下 ...
android中多點觸控開發紀要
筆者在專案開發中,碰到過針對螢幕的五指觸控測試需求,實現方式為可以自定義個view,然後在ontouchevent 方法中對motionevent進行處理,核心 如下,要注意的地方在注釋中已做說明。override public boolean ontouchevent motionevent ev...