我有一个 FrameLayout,其中首先包含一个 SurfaceView,其次是一个 RelativeLayout,后者又包含各种 Button 和 TextView。
在 SurfaceView 的画布上,我绘制了许多位图,并且通过触摸和运动事件允许用户拖动它们。
这些位图在拖动时会在相对布局内的按钮等下方传递。
现在,我(可能是错误的)理解 SurfaceView 的“Z 级”,或者它所具有的任何东西,与布局其余部分的实际Z 级完全无关。是这样吗?如果是这样,我该如何绕过它,以便将拖动的位图绘制在其他视图之上?或者我可以通过什么其他方式实现全屏画布,但又不让我的按钮等像叠加层的控件一样起作用。
我想我真正需要的是一个底层,触摸事件仍然可以被下面的按钮等拾取。但我不知道如何实现这一点,因为在重绘 Canvas 时,我还必须重绘背景。
能不能把FrameLayout里面RelativeLayout和SurfaceView的顺序调换一下,然后让Canvas的背景透明?如果有怎么办?触摸事件是否仍会“落入”下方的按钮?
感谢您对我的包容,我知道我有点像华夫饼。