photoviewattacher 裡面的ontouch方法裡面監聽x,y
將監聽的x,y繪製到view裡面
由於放大之後的view監聽的x,y不是真實的x,y,
需要專門對x,y 做校準處理
邏輯:放大之後的view監聽到的x,y座標其實是縮放,移動之後的view,
需要先計算放大之後的真實座標,先進行移位,原來的座標 - 移動的座標,
再去除以縮放的倍數,此時計算出來的座標就是真實的座標
在自定義的view 裡面ondraw 裡面繪製影象
繪製的時候設定之前移位的matrix
此時解決問題,縮放之後成功繪製出影象
canvas.concat(this.getsupportmatrix());
public class matrixutilspublic static float
formatmatrixy(float clicky,matrix mmaxrix)
}
PhotoView原始碼解析 Part I
photoview庫的核心類是photoviewattacher,而他由幾個核心構建構成。我們乙個個拆開來看。從監聽事件這些驅動部件來入手容易一些。對於 的解釋我直接放在注釋裡。override public boolean ontouch view view,motionevent event 取...
微信可拖拽透明返回 photoview
githubwing dragphotoview 更多 作者 提 bug 標籤 photoview 修改你的build.gradle檔案 root project allprojects module project dependencies 使用法放和普通的 imageview 一毛一樣 所有 i...
PhotoView原始碼初始化BUG修復
photoview 初始化完成之後,單指不停的滑動,會發現出現放大 此bug在首次單指滑動的情況下出現,僅僅修改首次單指滑動監聽 現在專案已經不在考慮api 14,所以僅僅改動以下監聽 在監聽之前,判斷是否是雙指的,如果是雙指,則新增ontouch監聽 如果是單指操作,則不監聽操作 首次單指不做縮放...