/** 記錄是拖拉**模式還是放大縮小**模式 */
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...