安卓 ImageView伸縮放大縮小

2021-07-11 01:42:11 字數 1357 閱讀 3025

/** 記錄是拖拉**模式還是放大縮小**模式 */

private int mode = 0;// 初始狀態  

/** 拖拉**模式 */

private static final int mode_drag = 1;

/** 放大縮小**模式 */

private static final int mode_zoom = 2;

/** 用於記錄開始時候的座標位置 */

private pointf startpoint = new pointf();

/** 用於記錄拖拉移動的座標位置 */

private matrix matrix = new matrix();

/** 用於記錄要進行拖拉時候的座標位置 */

private matrix currentmatrix = new matrix();

/** 兩個手指的開始距離 */

private float startdis;

/** 兩個手指的中間點 */

private pointf midpoint;

@override

public boolean ontouch(view v, motionevent event)

// 放大縮小

else if (mode == mode_zoom)

}break;

// 手指離開螢幕

case motionevent.action_up:

// 當觸點離開螢幕,但是螢幕上還有觸點(手指)

case motionevent.action_pointer_up:

mode = 0;

break;

// 當螢幕上已經有觸點(手指),再有乙個觸點壓下螢幕

case motionevent.action_pointer_down:

mode = mode_zoom;

/** 計算兩個手指間的距離 */

startdis = distance(event);

/** 計算兩個手指間的中間點 */

if (startdis > 10f)

break;

}imageview.setimagematrix(matrix);

return true;

}/** 計算兩個手指間的距離 */

private float distance(motionevent event)

/** 計算兩個手指間的中間點 */

private pointf mid(motionevent event) }}

布局檔案

<?xml version="1.0" encoding="utf-8"?>  

安卓使用ImageView顯示OpenCV Mat

對opencvmat 型進行測試,c 的highgui顯示函式是無效的,因為視窗不能直接從android介面彈出。需要使用imageview進行顯示以便檢視影象處理的結果,因此我借鑑了少許 suppresslint sdcardpath private int tracktestcv private...

安卓開發之ImageView變形的處理

當頁面布局有imageview的時候會出現適配比例不當而變形的情況,解決辦法是自己複寫乙個imageview,如下 public class ximageview extends imageview override protected void onmeasure int widthmeasure...

安卓開發 WebView設定開啟網頁縮放問題

之前實現開啟網頁的方式,測試後,發現不能夠對網頁進行縮放操作,這對部分網頁來說是十分不便的,其實只需要加幾行 就可以實現網頁縮放操作 1 settings.setusewideviewport true 設定支援viewport 23 settings.setloadwithoverviewmode...