Android之監聽View的兩個指頭是放大和縮小

2021-09-02 22:19:45 字數 870 閱讀 4482

我們有時需要對view進行手勢監聽,通過兩個手指開始距離和結束距離,來判斷放大縮小,下面是實現**,所有view通用。

private double nlenstart = 0;//監聽 webview所用手勢

@override

public boolean ontouch(view v, motionevent event)

int xlen = math.abs((int) event.getx(0) - (int) event.getx(1));

int ylen = math.abs((int) event.gety(0) - (int) event.gety(1));

nlenstart = math.sqrt((double) xlen * xlen + (double) ylen * ylen);

} else if ((event.getaction() & motionevent.action_mask) == motionevent.action_pointer_up && 2 == ncnt)

int xlen = math.abs((int) event.getx(0) - (int) event.getx(1));

int ylen = math.abs((int) event.gety(0) - (int) event.gety(1));

double nlenend = math.sqrt((double) xlen * xlen + (double) ylen * ylen);

if (nlenend > nlenstart)//通過兩個手指開始距離和結束距離,來判斷放大縮小

else

}return false;

}

Android之View的事件體系

velocitytracker,gesturedetector,scroller 1.velocitytracker 速度追蹤 在ontouch中新增 override public boolean ontouch view v,motionevent event 不過回頭一看,發現書中是放在ont...

android之View和ViewGroup介紹

activity中包含views和viewgroups 檢視組 android 中的view與我們以前理解的 檢視 不同。在android中,view比檢視具有更廣的含義,它包含了使用者互動和顯示,更像windows操作 系統中的window。viewgroup是view的子類,所以它也具有view...

android之View的啟動過程

程式裡呼叫了onsizechanged方法進行了一些設定,不知道onsizechanged是在什麼時候啟動的,所以研究了一下view的啟動流程 如下 public class testview extends view public testview context context,attribut...