2011-04-12 13 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(); 

フォーカスを変更できるようになります。これを試してみてください。ありがとう。

関連する問題