Должен ли я использовать PopupWindow или DialogFragment для принятия ввода?

Я делаю всплывающее окно с тремя прядильщиками и EditText. После прочтения многих блогов и статей я не могу решить, какой из них лучше, PopupWindow или DialogFragment.

Критерии:

  • Совместимость с различными версиями Android
  • Производительность

Если есть лучший способ сделать это, я открыт для изменения перспективы.

Большое спасибо.

DialogFragment:

  • Плюсы:
  • Минусы:

PopupWindow:

  • Плюсы:
  • Минусы:

EDIT: ЗАКЛЮЧЕНИЕ

Диалоговое окно позволяет использовать более сложные функции. Еще одна важная вещь заключается в том, что она более удобна для планшета, так как позволяет пользователю открывать более одного фрагмента за раз. Фрагменты являются более динамичным решением, и они являются стандартом для новых версий Android.

PopupWindow проще, и это очень полезно для простых вопросов пользователю.

Ответы

Ответ 1

Библиотека поддержки может предоставить вам DialogFragment, который совместим со старыми версиями android. Идем дальше с диалоговым окном фрагмента, потому что то, что вы просите, довольно специфично (3 ролика и редактор. Просто нажмите правой кнопкой мыши на свой проект и нажмите "Инструменты Android" → "Добавить библиотеку поддержки", Убедитесь, что при использовании диалогового окна для импорта

import android.support.v4.app.DialogFragment;

Иначе вы закончите использование диалога без поддержки: P. У вас будет больше гибкости с фрагментом диалога и возможностью использовать вид, который вам подходит (даже макет, сделанный вами самим) без особых усилий.

Диалоговый фрагмент

Плюсы:

  • Возможность добавления любого вида
  • Легко редактировать
  • Может быть адаптирован к планшетам или мобильным телефонам в ландшафте или портрете, просто изменив макет.
  • Может посвятить целый новый класс, просто чтобы изменить его по-своему.

Минусы:

  • Чем больше памяти, тем сложнее ваше мнение.
  • Сложнее код

Всплывающее окно:

Плюсы:

  • Simpler
  • Легче кодировать
  • Это более стандартно, так что пользователю будет сложно смутить его.

Минусы:

  • Упрощение, что означает меньший контроль над ним.
  • Ограничено несколькими шаблонами

Это только из моих соображений и из моего опыта, но вы должны прочитать документацию

http://developer.android.com/reference/android/widget/PopupWindow.html

http://developer.android.com/reference/android/app/DialogFragment.html

Ответ 2

Если вам нужно EditText в вашем окне и вы хотите, чтобы ваш пользователь мог его долгое время вставлять и вставлять (нормальное поведение текстового редактора), тогда не используйте popupwindow, я нашел его в жестком режиме:

Довольно большой Минус в popupwindow - это то, что долгое нажатие на edit-text не создает контекстное меню по умолчанию (копировать/вставлять/выбирать все,...), а также некоторые из них сообщают в некоторых устройствах, что на самом деле приводит к сбою приложения. видеть это https://code.google.com/p/android/issues/detail?id=62508