Cuando mostramos un AlertDialog en Android, se muestra en el centro de la pantalla. ¿Hay alguna forma de cambiar la posición?
android
android-layout
android-ui
gypsicoder
fuente
fuente
wmlp.x = 100; //x position wmlp.y = 100;
, solo establece la gravedadwmlp.gravity = Gravity.TOP | Gravity.LEFT;
es suficienteSi, por ejemplo, desea mover el cuadro de diálogo de progreso un poco más hacia abajo y no establecer la posición exacta del píxel, esto es suficiente:
fuente
Para hacer que la configuración tenga un efecto de información, agregué el siguiente código
dialog.getWindow().setAttributes(wmlp);
después de cambiar el valor de wmlp en la respuesta de gypsicoder, o la configuración de wmlp no entra en vigencia en mi prueba.
fuente
Estas respuestas moverán la posición del AlertDialog, sin embargo, la posición del diálogo mostrado también incluirá el relleno alrededor del diálogo.
Si desea deshacerse de este relleno (por ejemplo, para colocar su cuadro de diálogo al ras contra la parte inferior de la pantalla), también deberá anular el estilo AlertDialog predeterminado en su styles.xml para establecer el windowBackground en nulo, así :
Además de configurar Window.LayoutParameters como se describe en la respuesta aceptada.
Un agradecimiento especial a @David Caunt cuya respuesta en: eliminar borde, relleno de Dialog completó esta imagen.
fuente