Как сделать Фрагмент модальным как ProgressDialog - PullRequest
0 голосов
/ 04 ноября 2018

У нас есть простой фрагмент с индикатором прогресса

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<ProgressBar
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" />
</FrameLayout>

Возможно ли сделать этот фрагмент модальным? (т.е. игнорирование любых нажатий за индикатором выполнения и нажатием кнопки «назад») Я полагаю, что не следует писать какой-либо код во FragmentActivity, потому что действие содержит слишком много других фрагментов, кроме этого временного, и логически лучше не манипулировать ими из действия.

Я попытался выполнить поиск по устаревшему ProgressDialog, нашел идею установки флагов окна, но он не отрицал нажатие назад.

getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

P.S. По некоторым причинам мы не можем использовать DialogFragment с setCancellable (false) , они автоматически отклоняются при поворотах экрана

...