在ACTION_OUTSIDE之后接收触摸事件

时间:2012-12-13 12:46:18

标签: android overlay

上下文

我有一个全屏的覆盖窗口(TYPE_SYSTEM_ALERT)。

启用标志FLAG_NOT_TOUCHABLE,以便底层窗口获取触摸事件。

标记FLAG_WATCH_OUTSIDE_TOUCH也已启用,以便在触摸事件发生时我的叠加层获得ACTION_OUTSIDE事件。

目标

如果触摸事件发生在屏幕的特定区域,我希望我的叠加层变为“可触摸”并接收所有后续触摸事件(移动,向上,......)。

我尝试了什么

我在收到FLAG_NOT_TOUCHABLE时尝试删除ACTION_OUTSIDE,但在当前触摸系列结束之前我没有收到触摸事件(即ACTION_UP事件)。

1 个答案:

答案 0 :(得分:0)

好吧我终于使用了2个叠加窗口:

  • TYPE_SYSTEM_ALERT wrap_content来抓住内容上的触摸事件
  • TYPE_SYSTEM_OVERLAY match_parent

当触摸开始/结束时,我将内容视图从一个窗口转移到另一个窗口。