这是我目前的情况:我无法点击工具栏,因为有一个视图重叠它拦截触摸响应。我将扩展:我正在制作音乐应用。在音乐应用程序中,工具栏下方有一个歌曲列表。但是,一旦您单击一首歌曲,面板就会打开并在工具栏上向上滑动并继续进入透明状态栏。附上图片。
现在,显然因为这个视图与工具栏重叠,我实际上无法使用工具栏来处理任何触摸事件。但我需要。我无法移动工具栏下方的视图,因为我的向上滑动面板仅限于工具栏下方而不是重叠它。如果有任何方法可以解决这个问题,请告诉我。我非常感激。
所以,在我目前的情况下,我想也许我能够触摸覆盖工具栏的视图部分并将该数据发送到包含工具栏的视图,以便我可以检测工具栏上的触摸。但是,我无法弄清楚如何做到这一点,或者即使有可能。
我的问题是:如何在另一个视图下方的视图中检测触摸?
以下是图片: 这是歌曲列表:
这就是歌曲面板打开的时候(我现在使用老虎的形象播放任何没有艺术品的歌曲):
谢谢!
答案 0 :(得分:1)
跆拳道? 您希望用户可以触摸当前不可见的工具栏,因为它与另一个视图重叠?什么样的用户会期望这样的用户体验?
我的意思是:
但是,您有三种可能性:
overlappingView.setClickable(false);
使重叠视图无法点击。 onOptionsItemSelected()
(伪造所需参数)或使用EventBus
进行通信。OnClickListener
设置OnTouchListener
,而是通过调用toolbar.onTouchEvent(motionEvent);
将MotionEvent转发到工具栏答案 1 :(得分:0)
如果您确实想要检测另一个视图下方视图的触摸事件,可以将前景视图的onTouchEvent设置为false。但是,我建议您重新考虑布局,以便将工具栏放在最顶层,以便用户可以看到它,否则他们不知道他们点击了什么。