2013-06-20 54 views
0

我有一個CustomView延伸的RelativeLayout,即時加入它使用WindowManager.addView()方法用下面的佈局PARAM標誌的Android WindowManager.Layoutparams.flags檢測dispatchKeyEvent()

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既檢測觸摸和關鍵事件,並觸及視野之外

請讓我分心的職位,如果這是一個重複。

回答

0

找到答案,動態添加焦點標誌。當您的視圖可見時,添加焦點標誌。當其隱形移除標誌將觸發事件發送到其他視圖。

+0

你可以只發布動態改變焦點標誌的代碼。尋找它。謝謝! – Sriram