support open full from example codepath app activity android android-dialogfragment android-popupwindow

android - open - launch dialogfragment



¿Debo usar un PopupWindow o DialogFragment para aceptar entradas? (2)

Estoy haciendo un Popup con 3 Spinners y un EditText. Después de leer muchos blogs y artículos, no puedo decidir cuál es la mejor opción, PopupWindow o DialogFragment .

Los criterios serían:

  1. Compatibilidad con diferentes versiones de Android.
  2. Actuación

Si hay una mejor manera de hacerlo, estoy abierto a cambiar la perspectiva.

Muchas gracias.

DialogFragment:

  • Pros:
  • Contras:

Ventana emergente:

  • Pros:
  • Contras:

EDITAR: CONCLUSIÓN

DialogFragment le permite utilizar funciones más complejas. Otra cosa importante es que es más compatible con tabletas, ya que permite al usuario haber abierto más de un fragmento a la vez. Los fragmentos son una solución más dinámica y son el estándar para las nuevas versiones de Android.

PopupWindow es más simple y es muy útil para preguntas simples para el usuario.


Si necesita EditText en su ventana y desea que su usuario pueda presionarlo durante más tiempo y pegarlo (comportamiento normal de un texto de edición), entonces no use popupwindow, lo encontré de manera difícil:

Una gran desventaja en la ventana emergente es que una pulsación larga en el texto de edición no trae el menú contextual por defecto (copiar / pegar / seleccionar todo, ...). También algunos reportados en algunos dispositivos esto en realidad provoca un bloqueo de la aplicación. consulte este https://code.google.com/p/android/issues/detail?id=62508


La biblioteca de soporte puede proporcionarle un DialogFragment que es compatible con versiones anteriores de Android. Continúe con el cuadro de diálogo de fragmentos porque lo que está preguntando es bastante específico (3 giros y un texto de edición. Simplemente haga clic con el botón derecho en su proyecto y presione "Herramientas de Android" -> "Agregar biblioteca de soporte" Asegúrese de utilizar el cuadro de diálogo para importar

import android.support.v4.app.DialogFragment;

De lo contrario, terminará utilizando el cuadro de diálogo sin el soporte: P. Tendrá más flexibilidad con el fragmento de diálogo y la capacidad de usar la vista que considere adecuada (incluso un diseño hecho por usted mismo) sin mucho esfuerzo.

Fragmento de diálogo

Pros:

  • Capaz de añadir cualquier vista.
  • Fácil de editar
  • Se puede adaptar a tabletas o teléfonos móviles en horizontal o vertical simplemente modificando el diseño.
  • Puede dedicar una clase completamente nueva solo para modificarla a su manera.

Contras:

  • Cuanta más memoria tengas, más compleja será tu vista.
  • Más difícil de codificar

Ventana emergente:

Pros:

  • Mas simple
  • Más fácil de codificar
  • Es más estándar, por lo que será más difícil confundirlo con el usuario.

Contras:

  • Más simple, lo que significa menos control sobre él.
  • Limitado a unas pocas plantillas

Estos son solo los más importantes de mi mente y de mi experiencia, pero usted debe leer la documentación.

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

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