建议单个大图像的可缩放缩放视图?

时间:2010-03-02 22:12:41

标签: android

我想要显示大约800 x 800像素的大图像。我想用手指拖动它可以在四个方向上平移它。我也希望能够放大和缩小。我需要能够知道平移值和缩放值,因为我必须在图像上的某些位置绘制小文本字符串。

例如,如果平移是右边100像素,我需要知道,所以我可以将该偏移添加到我的所有元素。

想知道这是一个好方法。我应该在我实现的View中的paint方法中自己实现它吗?有没有其他标准的方法呢?它基本上就像谷歌地图视图,只有一个大的瓷砖,但我必须用平移和缩放绘制我的针脚,

由于

1 个答案:

答案 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);

    }
}