Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:获取双击的x/y坐标?_Java_Android_Gesture_Ondraw_Gesturedetector - Fatal编程技术网

Java Android:获取双击的x/y坐标?

Java Android:获取双击的x/y坐标?,java,android,gesture,ondraw,gesturedetector,Java,Android,Gesture,Ondraw,Gesturedetector,我正在开发一个应用程序,当用户双击图像时,它会在屏幕上画一个圆圈。我希望圆圈出现在用户点击屏幕的精确x和y坐标处。现在,它在屏幕的右上角绘制图像。我必须实现onTouchEvent吗?我该如何实现 以下是触控监听器:(触控是图像视图) 这是应该画圆圈的课程 class MyGestureDetector extends GestureDetector.SimpleOnGestureListener { public Context context; public MyGestu

我正在开发一个应用程序,当用户双击图像时,它会在屏幕上画一个圆圈。我希望圆圈出现在用户点击屏幕的精确x和y坐标处。现在,它在屏幕的右上角绘制图像。我必须实现onTouchEvent吗?我该如何实现

以下是触控监听器:(触控是图像视图)

这是应该画圆圈的课程

class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
    public Context context;

    public MyGestureDetector(Context con)
    {
        this.context=con;
    }

    @Override
    public boolean onDoubleTap(MotionEvent event) {
         Bitmap bmOverlay = Bitmap.createBitmap(bitmap.getWidth(),
         bitmap.getHeight(),
         bitmap.getConfig());
         Canvas canvas = new Canvas(bmOverlay);
         Paint p = new Paint();
         p.setAntiAlias(true);
         p.setColor(Color.RED);
         p.setStrokeWidth(2);
         p.setStyle(Paint.Style.STROKE);
         canvas.drawBitmap(bitmap,new Matrix(),null);
         canvas.drawCircle(event.getX(),event.getY(),
                100, p);
         touch.setImageBitmap(bmOverlay);
        return false;
    }
}

您只需将触摸连接到对象。触摸是一个对象吗?@Xjasz,“触摸”是一个imageView…我如何将触摸附加到对象上?确保图像视图在资源文件中填充了父宽度和高度。是的,imageView的宽度和高度在XML文件中设置为“匹配父”
class MyGestureDetector extends GestureDetector.SimpleOnGestureListener {
    public Context context;

    public MyGestureDetector(Context con)
    {
        this.context=con;
    }

    @Override
    public boolean onDoubleTap(MotionEvent event) {
         Bitmap bmOverlay = Bitmap.createBitmap(bitmap.getWidth(),
         bitmap.getHeight(),
         bitmap.getConfig());
         Canvas canvas = new Canvas(bmOverlay);
         Paint p = new Paint();
         p.setAntiAlias(true);
         p.setColor(Color.RED);
         p.setStrokeWidth(2);
         p.setStyle(Paint.Style.STROKE);
         canvas.drawBitmap(bitmap,new Matrix(),null);
         canvas.drawCircle(event.getX(),event.getY(),
                100, p);
         touch.setImageBitmap(bmOverlay);
        return false;
    }
}