¿Cómo establecer la posición del diálogo?
He hecho un diálogo personalizado.
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="myBackgroundStyle" parent="@android:style/Theme.Translucent.NoTitleBar" /> </resources>
- Android java porcentaje bitmap píxel diferencia entre dos imágenes
- ACTUALIZADO: Android: java.lang.RuntimeException: No se puede iniciar la actividad ComponentInfo
- Carpeta de activos en Android Studio Unit Test
- El audio no está claro durante la transmisión entre una clase de Java y la actividad de Android
- ¿Cuál es la forma más segura de autorizar a un usuario en Android?
Dialog dialog = new Dialog(this, R.style.myBackgroundStyle); dialog.setContentView(R.layout.dialog); dialog.show(); WindowManager.LayoutParams params = dialog.getWindow().getAttributes(); params.y = 225; params.x = 225; params.gravity = Gravity.TOP | Gravity.LEFT; dialog.getWindow().setAttributes(params);
Pero el problema es que aparece en la esquina superior izquierda y no puedo encontrar una forma de colocarlo donde lo necesito. params.y=225; params.x=225;
De alguna manera no lo afectan.
¿Algunas ideas?
Edit: Si tengo el xml como ese (style / Theme.Dialog), entonces los parámetros y la ubicación funcionan bien, pero aparece una sombra modal. ¿Hay alguna manera de eliminarlo?
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="myBackgroundStyle" parent="@android:style/Theme.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">false</item> </style> </resources>
- ¿Por qué Android utiliza Ints en vez de Enums?
- ServiceTestCase <T> .getService?
- Prueba recyclerView con Espresso, cómo realizar clics o hacer afirmaciones
- Uso de Google para acceder a las hojas de cálculo de Google (u otras aplicaciones de Google) en Android
- Cuando los métodos predeterminados serán compatibles (Java 8) en Android?
- Error de compilación del administrador de ubicación de Android
- Robolectric - La aplicación tiene Singletons en la configuración, causando problemas con las pruebas
- Programáticamente obtener el valor de texto de sugerencia en android Edittext
Intente usar Theme.Panel
como el parent
del estilo en parent
lugar.
Intente crear un nuevo conjunto de parámetros:
WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.y = 225; params.x = 225; params.gravity = Gravity.TOP | Gravity.LEFT; dialog.getWindow().setAttributes(params);
Editar: si desea conservar los atributos de la ventana, podría intentar agregar esto como la segunda línea:
params.copyFrom(dialog.getWindow().getAttributes());
Sin embargo, tenga en cuenta que el método copyFrom
es completamente indocumentado, así que no tengo ni idea de si hace lo que suena como lo hace.
No 100% seguro, pero es algo que ver con params.gravity=Gravity.TOP | Gravity.LEFT;
params.gravity=Gravity.TOP | Gravity.LEFT;
?
Otra edición
Ok, entonces, éste debe ser de más uso: Llamar a Android diálogo sin que se desvanezca el fondo
En el código anterior la línea …
dialog.show();
Debe aparecer después
WindowManager.LayoutParams params = dialog.getWindow().getAttributes(); params.y = 225; params.x = 225; params.gravity = Gravity.TOP | Gravity.LEFT; dialog.getWindow().setAttributes(params); ...
Por el aspecto de las cosas que está mostrando el diálogo primero, a continuación, establecer las coordenadas x, y después de que el diálogo ya ha sido dibujado a la pantalla.
Sólo elimine params.gravity = Gravity.TOP | Gravity.LEFT; Y funcionará. He intentado.
- BroadcastReceiver para CONNECTIVITY_ACTION devuelve siempre null en intention.getExtras ()
- No se puede escribir un algoritmo para filtrar elementos en un RecyclerView basado en un tiempo guardado con cada elemento