我有一个自定义View,它扩展了RelativeLayout,我使用WindowManager.addView()方法将其添加到屏幕,并使用以下布局参数标记
final int flags =WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL|WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH;
dispatchKeyEvent()在CustomView类中被重写,但是当我按下后退按钮时,它被调用后没有被调用。
如果我从标志中删除WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,则会调用dispatchKeyEvent(),但我无法检测customView中的触摸事件。
请建议标记组合,我的customView既可以检测触摸和按键事件,也可以在视图外触摸
如果这是重复的,请转发我的帖子。
答案 0 :(得分:0)
找到答案,只需动态添加焦点标志。当您的视图为Visible时,添加焦点标志。当其不可见时删除标志以将触摸事件发送到其他视图。