studio life custom android comparison dialog use-case popupwindow

life - Cuándo usar Android PopupWindow vs Dialog



dialog fragment android studio (3)

Ambos utilizan el método addView () junto con varios métodos windowManager. Los dos son similares en ese sentido.

Los diálogos parecen venir con más funciones integradas para la interacción, como los controladores y los botones ya incluidos en la clase base, mientras que PopupWindows viene con más métodos incorporados para ubicarlos en la pantalla.

Creo que cada uno de ellos puede hacer exactamente lo mismo que el otro, pero elegir entre los dos será una cuestión de conveniencia para el programador con respecto a cómo desea utilizar el Objeto. No soy un doctorado en ciencias de la computación, pero no creo que haya una diferencia significativa en el tiempo de procesamiento entre los dos en base a lo que vi en sus respectivas definiciones de clase.

Mi consejo: si desea tener un mayor control sobre dónde aparece su Vista en la pantalla, use una ventana emergente. Si desea agregar más control y comentarios entre su vista, use un cuadro de diálogo. Si usted, como yo, quiere un control maestro sobre todo, sugeriría un PopupWindow ya que tiene menos métodos predeterminados evidentes para el usuario.

No tengo claro cuándo usar el diálogo de PopupWindow vs. Cualquier idea sería muy apreciada. Gracias.


Creo que debería usar Diálogo cuando necesite tomar acción antes de continuar para continuar. Nunca cubre la pantalla y siempre ajusta el centro alineado como evento modal. En el otro lado, PopupWindow tiene flexibilidad para ajustar la información en cualquier lugar de la pantalla como posición, como pie de página adhesivo, encabezado adhesivo, a la izquierda, derecha, centro, etc., según la ubicación establecida. Para mostrar información es una buena opción ya que también hay facilidad para animar. En resumen, para Mostrar información con acción mínima, vaya con PopupWindow y para que la acción controlada continúe, vaya con Diálogo.


Creo que debería usar Dialog para la interacción simple del usuario (SÍ, NO). Normalmente uso Dialog para una interacción simple con el usuario y WindowPopup para una vista un poco más compleja. Un ejemplo de WindowPopup es AutoCompleteTextView .

Espero eso ayude.