我怎样才能使视图变得不难处理。我有两个画布视图在框架布局中相互堆叠。两个画布都占据整个屏幕区域并且都是透明的。我想在上部画布上显示一些 PNG,并让用户在下部画布上绘制。
问题是当用户触摸屏幕时,触摸输入由上部画布进行,并且由于它什么都不做(在下部画布上绘图),所以什么也没有发生。
我希望上层画布充当覆盖视图,没有交互,也没有分配事件,所有这些都应该由下层视图使用。如果我将上部叠加层设置为不可见,我可以在下部画布上绘制(因为现在下部画布正在接收所有输入)。
画布也不是标准画布,而是自定义画布。它直接派生自 View 类。但我认为派生的观点不会造成问题。我只是不知道如何进行。
我尝试在上部画布上使用 onTouch() 并调用下部画布的 onTouch() ,但没有奏效。我正在测试其他一些东西,比如 2 个按钮上的 dispatchTouch(),但对我来说似乎没有什么确定的。帮助将不胜感激。
编辑:添加 XML 布局代码
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.samsung.sdraw.CanvasView
android:id="@+id/canvas1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="cnvs1Click"
android:text="Canvas1" />
<com.samsung.sdraw.CanvasView
android:id="@+id/canvas2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Canvas2"
android:onClick="cnvs2Click"/>
</FrameLayout>
但我仍然认为问题会由 View(s) 解决。Canvas 来自S pen SDK