我有一个FrameLayout,其中包含首先是SurfaceView,其次是RelativeLayout,后者又包含各种按钮和文本视图。
在SurfaceView的画布上,我正在绘制许多位图,并且通过触摸和动作事件允许用户将它们拖动。
这些位图在拖动时会经过RelativeLayout中包含的按钮等控件的下方。
现在,我的(可能错误的)理解是,SurfaceView的“Z级别”或其他类似的内容与布局中其余部分的实际Z级别完全无关。是这样吗?如果是这样,我该怎么解决这个问题,使得拖动的位图可以在其他视图之上绘制?还有什么其他方法可以实现全屏画布而不像覆盖层的控件一样影响我的按钮等?
我想我实际上需要一个底层,可以在下面捕获到按钮等控件的触摸事件。但是我不知道如何实现这一点,因为在重新绘制我的Canvas时,我还必须重新绘制背景。
我可以交换FrameLayout中RelativeLayout和SurfaceView的顺序,然后使Canvas的背景透明吗?如果可以,如何实现?触摸事件是否仍会“穿透”到下面的按钮?
感谢您耐心地阅读,我知道自己有点啰嗦。
在SurfaceView的画布上,我正在绘制许多位图,并且通过触摸和动作事件允许用户将它们拖动。
这些位图在拖动时会经过RelativeLayout中包含的按钮等控件的下方。
现在,我的(可能错误的)理解是,SurfaceView的“Z级别”或其他类似的内容与布局中其余部分的实际Z级别完全无关。是这样吗?如果是这样,我该怎么解决这个问题,使得拖动的位图可以在其他视图之上绘制?还有什么其他方法可以实现全屏画布而不像覆盖层的控件一样影响我的按钮等?
我想我实际上需要一个底层,可以在下面捕获到按钮等控件的触摸事件。但是我不知道如何实现这一点,因为在重新绘制我的Canvas时,我还必须重新绘制背景。
我可以交换FrameLayout中RelativeLayout和SurfaceView的顺序,然后使Canvas的背景透明吗?如果可以,如何实现?触摸事件是否仍会“穿透”到下面的按钮?
感谢您耐心地阅读,我知道自己有点啰嗦。