У меня есть ActionBar в моем приложении (через библиотеку совместимости v7), и он отлично работает. Однако, когда я вызываю DialogFragment, в меню переполнения появляется за диалоговым окном. Я ожидал, что ActionBar всегда будет на высоте. Излишне говорить, что это нарушает ввод в ActionBar.DialogFragment появляется поверх ActionBar
Вот код для отображения фрагмента - довольно стандартный материал
CChildDialog dlg = createDialog(id,args);
if (dlg != null) {
// now display the fragment!
// DialogFragment.show() will take care of adding the fragment
// in a transaction. We also want to remove any currently showing
// dialog, so make our own transaction and take care of that here.
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
Fragment prev = getSupportFragmentManager().findFragmentByTag(dialogTag);
if (prev != null) {
ft.remove(prev);
}
// Create and show the dialog.
dlg.show(ft, dialogTag);
}
Мой диалог класс ничего странного, кроме включения фона не делать щелкает так:
@Override
public void onViewCreated(final View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
Window dialogWindow = getDialog().getWindow();
// Make the dialog possible to be outside touch
dialogWindow.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
dialogWindow.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
}
Если я удалю эти флаги в 'onViewCreated,' я не могу полностью взаимодействовать с ActionBar – Paladine
Это точка диалогового окна. Он держит фокус, пока вы что-то не сделаете с ним. Ваш пользовательский интерфейс будет запутанным и нестандартным, если вы делаете то, что делаете сейчас. Вам нужно переосмыслить это. – Kuffs
Я действительно собираюсь использовать немодальный диалог, поэтому я буду исследовать «PopupWindow», чтобы увидеть, ведет ли он себя так, как я ожидаю – Paladine