2011-04-12 55 views
1

我已經爲對話框設置了「FLAG_NOT_TOUCH_MODAL」標誌。所以,當啓動對話框時,我可以與佈局中的其他元素進行交互。如何處理對話框的僞裝更改

但是當外面的感動,我想接受焦點的變化。我找不到對話框的setFocusable(true)api,或者設置對話框的焦點偵聽器。

任何人都可以告訴我,當焦點進入/退出對話時如何接收。

requestWindowFeature(Window.FEATURE_NO_TITLE); 
    Window window = this.getWindow(); 
    window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, 
    WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); 
    window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 

這是我的設置窗口,在我的自定義對話框的cstr屬性。

回答

1

您可以使用相同的標誌對話框像下面我用。

Dialog mDialog = new Dialog(CustomKeyboardNotLikeAndroidActivity.this, R.style.PauseDialog); 
    mDialog.setContentView(R.layout.keyboard); 
    mDialog.getWindow().getAttributes().windowAnimations = R.style.PauseDialogAnimation; 
    mDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); 
    mDialog.setCancelable(true); 
    mDialog.show(); 

它會讓你改變焦點。試試這個,我希望你會有豐碩的成果。謝謝。