Android ImageView和OnTouchListener手指移动

时间:2014-03-05 10:50:42

标签: android imageview ontouchlistener

我是Android SDK的新手,请原谅我的愚蠢问题。 我创建了一个简单的应用程序,将ImageView设置为背景android:background =“@ drawable / image”  我添加了两个缩放按钮,所以我可以放大和缩小整个屏幕上的图片。所以我的问题是我应该使用OnTouchListener还是有更好的方法来向上,向下,向左或向右移动图片视图用我的手指,我只需要这些基本事件,没有别的。 我添加了部分代码,如果有人告诉我,哪里可以更好地实现它。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_load_map);

        zoom = (ZoomControls) findViewById(R.id.zoomControls1);
        img = (ImageView) findViewById(R.id.imageView1);

        startX = img.getScaleX();
        startY = img.getScaleY();

        zoom.setOnZoomInClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                float x = img.getScaleX();
                float y = img.getScaleY();

                img.setScaleX((float) (x+1));
                img.setScaleY((float) (y+1));                   
            }
        });

        zoom.setOnZoomOutClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                float x = img.getScaleX();
                float y = img.getScaleY();
                if((x>startX) & (y>startY)) {
                    img.setScaleX((float) (x-1));
                    img.setScaleY((float) (y-1));
                }
            }
        });
}

最好使用OnTouchListener吗?