从屏幕上绘制图像,但屏幕上仍然出现点击事件

时间:2019-08-07 05:54:44

标签: android

我通过重写dispatchDraw方法在屏幕外绘制图像视图,但是,当我在屏幕内单击时,图像仍然会获得点击事件。

我有一个图像视图,并将其添加到自定义布局中。对于Layout,我重写了它的dispatchDraw方法,如下所示:

public void dispatchDraw(Canvas canvas) {
      canvas.translate((float) getWidth(), (float) getHeight());
      super.dispatchDraw(canvas);
      canvas.translate((float) (-getWidth()), (float) (-getHeight()));
}

我使用Toast.show()显示此自定义布局。此后,图像应该是不可见的,因为我通过调用canvas.translate((float)getWidth(),(float)getHeight())将开始绘制位置设置为(width,height);但是,当我单击屏幕时,我发现图像仍然可以触摸事件。 我的理解是,由于图像现在绘制在屏幕外部,因此它不应响应屏幕内部的任何触摸事件。但这不是事实。

非常感谢,如果您能解释原因。 谢谢!

0 个答案:

没有答案