上下文
我有一个全屏的覆盖窗口(TYPE_SYSTEM_ALERT
)。
启用标志FLAG_NOT_TOUCHABLE
,以便底层窗口获取触摸事件。
标记FLAG_WATCH_OUTSIDE_TOUCH
也已启用,以便在触摸事件发生时我的叠加层获得ACTION_OUTSIDE
事件。
目标
如果触摸事件发生在屏幕的特定区域,我希望我的叠加层变为“可触摸”并接收所有后续触摸事件(移动,向上,......)。
我尝试了什么
我在收到FLAG_NOT_TOUCHABLE
时尝试删除ACTION_OUTSIDE
,但在当前触摸系列结束之前我没有收到触摸事件(即ACTION_UP
事件)。
答案 0 :(得分:0)
好吧我终于使用了2个叠加窗口:
TYPE_SYSTEM_ALERT
wrap_content
来抓住内容上的触摸事件TYPE_SYSTEM_OVERLAY
match_parent
当触摸开始/结束时,我将内容视图从一个窗口转移到另一个窗口。