android 三指縮放回到桌面

2021-10-05 09:01:38 字數 648 閱讀 2063

之前在某車的中控台上看到三指縮放回到桌面,當時看到效果覺得挺酷的,今天心血來潮的想實現這個功能。

三指縮放主要涉及到的知識點有多點觸控和事件分發,這兩塊內容大家應該都不陌生,網上的資料一堆堆的。

先上**

switch (ev.getactionmasked()) 

break;

case motionevent.action_move:

if (ev.getpointercount() == 3)

}break;

}

motionevent.getactionmasked()是多點觸控獲取事件型別的方法,motionevent.getpointercount(),獲取當前觸碰螢幕的手指個數,因為需要三指縮放,判斷三個手指在螢幕才執行相對應邏輯,我這裡通過計算三點之間的面積判斷是否縮放。

計算三點面積

private double distancebetweenfingers(motionevent event)
根據事件的分發可知道,最先處理觸控事件是activity的dispatchtouchevent,在原始碼中activity的dispatchtouchevent方法中加入此邏輯即可,然後編譯android工程,燒寫到開發版。

自定義imageview,實現多點縮放回彈

package laladin.album import android.content.context import android.graphics.bitmap import android.util.floatmath import android.view.motionevent impo...

js設定div縮放 與雙指縮放

function zoomtale 雙指縮放 type var store 縮放事件的處理 document.addeventlistener touchstart function event store.originscale store.scale 1 document.addeventlis...

android動畫,旋轉,漸變,縮放

旋轉動畫 rotateanimation animation new rotateanimation 0,360,animation.relative to self,0.5f,animation.relative to self,0.5f 引數說明 float fromdegrees 旋轉的開始角...