[英]zooming and panning with buttons in android emulator
我正在嘗試為我的uni項目實現縮放功能。 因此,我的應用程序從SD畫廊加載圖片。 它具有用於縮放和平移的按鈕。 我必須在模擬器中實現此項目。
到目前為止,我主要發現了多點觸控或雙指縮放的解決方案。 但是我不能使用多點觸摸,因為模擬器不允許這樣做,這也是我教授的要求。 我只通過鼠標單擊按鈕就找不到真正的縮放來源。 任何提示從哪里/如何開始?
謝謝!
好的,在這里,我終於想出了一個無需使用按鈕即可捏住的縮放代碼。 我把它放在這里,以防其他人需要這樣的東西。 但是我想仍然可以對其進行優化。 例如,該代碼缺少平移功能,以防您需要。 縮放也可能無法滿足您的需求,在這種情況下,您可以根據需要進行調整。
package com.example.ZoomApp;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.widget.ImageView;
public class ZoomInOut extends ImageView
{
Matrix matrix = new Matrix();
float saveScale = 1f;
float right, bottom, origWidth, origHeight, bmWidth, bmHeight;
public ZoomInOut(Context context, AttributeSet attr){
super(context, attr);
setScaleType(ScaleType.MATRIX);
matrix.setTranslate(1f, 1f);
setImageMatrix(matrix);
}
public void ZoomIn () {
saveScale = saveScale + 0.1f;
matrix.setScale( saveScale, saveScale );
setImageMatrix( matrix );
center(true, true);
invalidate();
}
public void ZoomOut () {
saveScale = saveScale - 0.1f;
matrix.setScale( saveScale, saveScale );
setImageMatrix( matrix );
invalidate();
}
@Override
public void setImageBitmap(Bitmap bitmap){
bmWidth=bitmap.getWidth();
bmHeight=bitmap.getHeight();
super.setImageBitmap(bitmap);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.