0

我有一个扩展RelativeLayout的CustomView,我使用WindowManager.addView()方法将其添加到屏幕,并带有以下布局参数标志

final int flags =WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL|WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;

dispatchKeyEvent() 在 CustomView 类中被覆盖,但是在我按下返回按钮时将它添加到窗口后 dispatchKeyEvent() 没有被调用。

如果我从标志中删除 WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,则调用 dispatchKeyEvent(),但我无法检测到 customView 中的触摸事件。

请建议我的 customView 既可以检测触摸和按键事件也可以触摸视图外的标志组合

如果这是重复的,请转移我的帖子。

4

1 回答 1

0

找到了答案,只需动态添加焦点标志。当您的视图可见时,添加焦点标志。当它不可见时,删除标志以将触摸事件发送到其他视图。

于 2013-07-18T05:41:33.493 回答