Estoy usando una actividad con el conjunto de temas de diálogo y quiero que sea a pantalla completa. Intenté todo tipo de cosas, incluso a través del WindowManager para expandir la ventana a todo el ancho y alto manualmente, pero nada funciona.
Aparentemente, una ventana de diálogo (o una actividad con el tema del diálogo) solo se expandirá de acuerdo con su contenido, pero incluso eso no siempre funciona. Por ejemplo, muestro un círculo de barra de progreso que tiene el ancho y la altura establecidos en FILL_PARENT (también lo hace su contenedor de diseño), pero aún así, el diálogo se ajusta alrededor de la barra de progreso mucho más pequeña en lugar de llenar la pantalla.
Debe haber una forma de mostrar algo pequeño dentro de una ventana de diálogo, pero ¿debe expandirse a tamaño de pantalla completa sin que su contenido cambie de tamaño también?
fuente
Respuestas:
Encontré la solución:
En su actividad que tiene el
Theme.Dialog
estilo establecido, haga esto:Es importante que llame
Window.setLayout()
después de llamarsetContentView()
, de lo contrario no funcionará.fuente
import android.view.ViewGroup.LayoutParams;
Puede agregar estos valores a su estilo android: windowMinWidthMajor y android: windowMinWidthMinor
fuente
Solo quiero llenar solo el 80% de la pantalla para eso, me gustó esto a continuación
funciona solo cuando pongo la ventana getwindow (). setLayout ... debajo de setContentView (..)
gracias @Matthias
fuente
Envuelva su dialog_custom_layout.xml en RelativeLayout en lugar de cualquier otro diseño . Eso funcionó para mí.
fuente
Para Diálogo Esto puede ser útil para alguien. Quiero un cuadro de diálogo para ocupar todo el ancho de la pantalla. busqué mucho pero nada fue útil. Finalmente esto funcionó para mí:
después de agregar esto, mi cuadro de diálogo aparece en todo el ancho de la pantalla.
fuente
Esta respuesta es una solución para aquellos que usan "Theme.AppCompat.Dialog" o cualquier otro descendiente de "Theme.AppCompat.Dialog" como "Theme.AppCompat.Light.Dialog", "Theme.AppCompat.DayNight.Dialog", etc. Yo mismo tengo que usar el cuadro de diálogo AppCompat porque uso AppCompatActivity como extensión para todas mis actividades. Habrá un problema que hará que el diálogo tenga relleno en todos los lados (arriba, derecha, abajo e izquierda) si usamos la respuesta aceptada.
En el estilo de su actividad, agregue estos códigos
Como puede observar, el problema que genera el relleno en nuestro diálogo es "android: windowBackground", así que aquí hago que el fondo de la ventana sea nulo.
fuente
Establezca un ancho mínimo en el diseño más superior.
Por ejemplo:
fuente
La respuesta de Matthias es en su mayoría correcta, pero aún no llena toda la pantalla ya que tiene un pequeño relleno en cada lado (señalado por @Holmes). Además de su código, podríamos solucionarlo extendiendo el estilo Theme.Dialog y agregando algunos atributos como este.
Luego simplemente declaramos Actividad con el tema establecido en
MyDialog
:fuente
Esto sería útil para alguien como yo. Crear estilo de diálogo personalizado:
En
AndroidManifest.xml
el tema del conjunto de archivos para la actividad deseada:Eso es todo, no es necesario llamar a los métodos programáticamente.
fuente
En su archivo de manifiesto donde se define nuestra actividad
sin barra de acción
fuente