我想要显示大约800 x 800像素的大图像。我想用手指拖动它可以在四个方向上平移它。我也希望能够放大和缩小。我需要能够知道平移值和缩放值,因为我必须在图像上的某些位置绘制小文本字符串。
例如,如果平移是右边100像素,我需要知道,所以我可以将该偏移添加到我的所有元素。
想知道这是一个好方法。我应该在我实现的View中的paint方法中自己实现它吗?有没有其他标准的方法呢?它基本上就像谷歌地图视图,只有一个大的瓷砖,但我必须用平移和缩放绘制我的针脚,
由于
答案 0 :(得分:0)
大家好几个月前我试过没有成功,最后我只是在webview中加载图像,启用缩放控件,我就能够平移我的图像......
public class PhotoZoom extends Activity {
private static final FrameLayout.LayoutParams ZOOM_PARAMS =
new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
Gravity.BOTTOM);
private WebView PhotoZoom;
private long lastTouchTime = -1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.photo_zoom);
PhotoZoom = (WebView) findViewById(R.id.PhotoZoom);
PhotoZoom.setBackgroundColor(Color.BLACK);
Bundle bundle = getIntent().getExtras();
String Photoname = bundle.getString("URLPhoto");
PhotoZoom.loadUrl("content://com.jorgesys.pan/sdcard/myimages/" +fotoname);
WebSettings webSettings = PhotoZoom.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(true);
FrameLayout mContentView = (FrameLayout) getWindow().getDecorView().findViewById(android.R.id.content);
View zoom = PhotoZoom.getZoomControls();
mContentView.addView(zoom, ZOOM_PARAMS);
zoom.setVisibility(View.VISIBLE);
}
}