¿Cómo mostrar una pantalla TYPE_SYSTEM_ALERT de pantalla completa?
Actualmente estoy teniendo dificultades para mostrar una ventana TYPE_SYSTEM_ALERT en modo de pantalla completa. Me gustaría hacerlo para tener una vista de superposición, creada desde un servicio, encima de la barra de estado pero sin ocultarla.
Sin embargo, poner el indicador FLAG_FULLSCREEN en los parámetros de diseño de la ventana que estoy creando no parece funcionar. Encontré los permisos STATUS_BAR y EXPAND_STATUS_BAR pero no pude encontrar cómo usarlos.
- Android como la barra de búsqueda en ActionBar
- ¿Cómo agregar un interruptor a la barra de acción de Android?
- Prioridad de diseño de Android
- Android: Botón con dos imágenes | alineación
- El texto de todos mis brindis se muestra fuera del centro
Aquí están los LayoutParams:
WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_FULLSCREEN, PixelFormat.TRANSLUCENT); params.gravity = Gravity.RIGHT | Gravity.TOP; mWindowManager.addView(mOverlayView, params);
¿Algunas ideas?
Gracias
- Alinear la línea de base con un TextView que se envuelve dentro de un TextInputLayout
- Custom TableLayout con múltiples TextViews en filas
- Android MapView con el menú deslizante oscurece el menú
- Cómo cancelar Android ListView elemento de ser activado / resaltado en ListView setOnItemClickListener?
- ¿Es posible hacer un diseño lineal desplazable?
- Realice una actualización ProgressBar sin problemas
- NullPointerException en el widget android ArrayAdapter createViewFromResource
- ScrollView dos ediciones de edición de EditTexts
¡Encontré la solución mientras intentaba hacer otra cosa!
Para tener una ventana TYPE_SYSTEM_ALERT encima de cualquier otra ventana Y encima de la barra de estado debe agregar el flag FLAG_LAYOUT_IN_SCREEN y no el flag FLAG_LAYOUT_FULLSCREEN:
WindowManager.LayoutParams params = new WindowManager.LayoutParams( WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, PixelFormat.TRANSLUCENT); mWindowManager.addView(mOverlayView, params);
Ya no funciona en Ice Cream Sandwich. La barra de estado cubre una ventana TYPE_SYSTEM_ALERT
. Pero TYPE_SYSTEM_OVERLAY
sigue funcionando bien.
- Se abren varias bases de datos de Android
- Posibilidad de saltar directamente a la segunda vista en ViewAnimator