В основном диалоги инактивируют активность в фоновом режиме. Таким образом, DialogFragment
делает то же самое с повышенной сложностью. Итак, зачем идти на DialogFragment
, хотя доступны различные подклассы Dialog
.
Зачем использовать DialogFragment?
Ответ 1
Fragments
используются в вашей деятельности, но для представления фрагмента в виде диалога (окна) с использованием FragmentTransaction
и последующих действий с жизненным циклом фрагмента необходимо использовать DialogFragment
. Однако вы можете использовать простой Dialog
, но тогда он не имеет ничего общего с жизненным циклом фрагмента.
Согласно документам google:
Диалоговый фрагмент можно по-прежнему необязательно использовать как обычный фрагмент, если желательно. Это полезно, если у вас есть фрагмент, который в некоторых случаях должен отображаться как диалог и другие, встроенные в более широкий интерфейс.
Ответ 2
DialogFragment позволяет повторно использовать такую часть диалога в вашем приложении. Так же, как фрагменты делают это для ваших макетов.
Здесь у вас есть хорошая статья о DialogFragment: http://android-developers.blogspot.fr/2012/05/using-dialogfragments.html
Ответ 3
когда u имеет динамический макет в вашем приложении Android с использованием фрагмента уже, тогда вам нужно использовать его с/в вашем диалоговом окне нажатием кнопки действий или другим щелчком мыши, поэтому на этот раз dialogFragment более удобен, чем обычный диалог.
Ответ 4
FragmentDialog - это фрагмент, который может быть:
-
используется как фрагмент, например:
FragmentTransaction trans = getSupportFragmentManager().beginTransaction(); trans.add(R.id.navigation_fragment, mFriendFragment); trans.commit();
-
используется как диалог, например:
FragmentManager fm = getFragmentManager(); UnsubscribeTabletFragment fragment = new UnsubscribeTabletFragment(); fragment.show(fm, "dialog");
Итак, если у вас есть фрагмент, а фрагмент иногда работает как фрагмент, иногда работает как диалог, тогда вы должны использовать его.