android - 框架布局,与其他 View 下的 View 交互

标签 android android-layout

我在框架布局中有 2 个 Canvas View ,一个接一个,就像堆栈一样。

<Framelayout>
      <Canvas />    // Canvas underneath
      <Canvas />    // Canvas available to user for interaction.
</Framelayout>

两个 Canvas 都占据了整个区域,并且下面的 Canvas 完全被 Canvas 上部覆盖。 两个 Canvas 都是透明的,因此用户可以看到两个 Canvas (如果它们有任何内容)。

我让用户使用触摸交互在上部 Canvas 上绘图。

如何禁用上部 Canvas 的触摸监听器,以便用户现在可以在下面的 Canvas 上绘制,但上部 Canvas 仍然可见。 Upper Canvas 只是不与用户的触摸输入进行交互。相反,下部 Canvas 正在交互。

我正在使用按钮而不是 Canvas 进行测试,只有上面的按钮响应单击事件。通过扩展, Canvas View 的情况也是如此。

我想我需要某种类似dispatchTouchEvent() 的方法。目前它也无法正常工作,或者可能是我使用错误。

最佳答案

只需将触摸事件传递到底层 Canvas 即可。

例如:

canvas.setOnTouchListner(new View.OnTouchListener(){

onTouch(View view, MotionEvent event) 
    {       
        canvasUnder.onTouch(event);
    }
});

关于android - 框架布局,与其他 View 下的 View 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10414884/

相关文章:

java - 通过 Kerberos 使用 Active Directory 进行身份验证

java - 如何更改 json 对象名称(键)?

java - 将微调器中的图像设置为 Gravity.Center

android - 我如何在 Android (RelativeLayout) 中将其水平居中?

android - 将 QuickContactBadge 图像设置为联系人的个人资料图片

java - 自定义按钮总是太大

android - 尝试在 facebook 集成中调用虚拟方法 'int java.lang.Object.hashCode()'

java - 使用HttpClient验证用户名和密码

Android:在捕获期间拆分视频

android - 看不到编辑文本