как обрабатывать изменения в диалоге

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 моего настраиваемого диалога.

Теги:
android-layout

2 ответа

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();

Это позволит вам изменить фокус. Попробуйте это, я надеюсь, что у вас будут плодотворные результаты. Спасибо.

0

http://developer.android.com/guide/topics/ui/ui-events.html#HandlingFocus может помочь

Ещё вопросы

Сообщество Overcoder
Наверх
Меню