Документация по дизайну Android в http://developer.android.com/design/building-blocks/dialogs.html позволяет четко различать диалоговые окна, оповещения, всплывающие окна и тосты. Он также рекомендует внедрить Диалоги с помощью класса DialogFragment
и Тосты с помощью класса Toast
. Однако мне непонятно, должно ли всплывать с PopupWindow
или с DialogFragment
.Диалоги и всплывающие окна в Android
Я знаю, что DialogFragments
обычно приходят с кнопками ОК/Отмена и что расположение PopupWindows
может быть определена, но:
- ли эти небольшие различия только аргументы, чтобы использовать один или другой?
- Является
DialogFragment
преемникомPopupWindow
, который будет устарел в какой-то момент? - В соответствии с ответом в https://stackoverflow.com/a/15165554/2482894 PopupWindow «ограничен несколькими шаблонами», но я не могу найти ссылку на ограниченное количество шаблонов в документации по классу.
- Итак, как бы вы реализовали всплывающие окна, подобные этим http://developer.android.com/design/media/dialogs_popups_example.png и почему?
Ok, согласно [dialogs.html] (HTTP : //developer.android.com/guide/topics/ui/dialogs.html), они рекомендуют использовать 'DialogFragment'even для таких окон, как [list_dialog] (http://developer.android.com/images /ui/dialog_list.png), который не имеет кнопок. Кроме того, я полагаю, что факт, основанный на «Фрагментах», облегчает добавление к BackStack, тогда как я не понимаю, как бы это сделать с помощью «PopupWindow». Поэтому я перехожу к подходу «DialogFragment», хотя я бы по-прежнему оценил некоторые более глубокие детали о сравнении обоих классов. – leo9r