在ImageView touch

时间:2017-07-27 20:51:36

标签: java android mobile

所以,我需要在ImageView上获得触摸的坐标。

我已经成功尝试在OnTouchListener事件中获取坐标。但这不是我真正需要的。

问题是屏幕的分辨率远低于ImageView中图片的分辨率。

如何获得图像的实际坐标(可能是某些像素)?

2 个答案:

答案 0 :(得分:2)

为此目的,有getLocationOnScreen()和getLocationInWindow()方法。

imageView.setOnTouchListener(new OnTouchListener() {
            @Override public boolean onTouch(View view, MotionEvent motionEvent) {
                int[] locations = new int[2];
                view.getLocationOnScreen(locations);
                //view.getLocationInWindow(locations);
                return false;
            }
        });

答案 1 :(得分:2)

Android: How do I get the x y coordinates within an image / ImageView?

imageView.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View view) {
            int[] values = new int[2]; 
            view.getLocationOnScreen(values);
            Log.d("X & Y",values[0]+" "+values[1]);
        }
    });

这样的东西?