Android: ¿Cómo crear una vista personalizada modal?
Me gustaría hacer mi propio diálogo, completamente dibujado a mí mismo, como una vista personalizada. ¿Puedo mostrarlo de tal manera que muestre sobre todas las demás vistas y que todos los eventos táctiles, incluso los que están fuera del área del diálogo, sean redirigidos al diálogo?
- Ocultar el teclado después de que un usuario termine una consulta en un SearchView
- Android findViewById () en la vista personalizada
- Error al inflarse al extender una clase
- La vista personalizada de Android no se vuelve a pintar, aunque onDraw se está llamando
- Android está redibujando todas las vistas al aplicar la animación en una vista
- Calcular la medida de la vista antes de mostrarla
- ¿Cuál es la forma más rápida de agregar varias vistas a un LinearLayout?
- Cambiar el tamaño del texto del elemento en la vista de navegación
- Falta el puerto reenviado en el Visor de jerarquía: Uso de Android Studio
- GetDrawingCache devuelve siempre el mismo Bitmap
- Guardar vista como mapa de bits, sólo obtener pantalla en negro
- Establecer gravedad de una vista mediante programación
- Ocultar búsqueda / ir botón en el teclado virtual cuando se utiliza la búsqueda?
Me parece que el uso de una actividad transparente y startActivityForResult () me da una libertad total como quiero que mi "diálogo" se vea y se comporte. Así que sugiero que lo echas un vistazo: ¿Cómo puedo crear una actividad transparente en Android?
Con pantalla completa y un fondo más oscuro de su elección:
<style name="Theme.Transparent" parent="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"> <item name="android:windowBackground">@color/transparentActivityBackground</item> </style>
Luego en strings.xml:
<color name="transparentActivityBackground">#55000000</color>
Si desea desenfocar la pantalla de la actividad anterior, utilice esta línea antes de setContentView:
this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
Esto debería ser posible estableciendo la altura / ancho del elemento raíz en cualquier cosa, pero fill_parent
.
También puede lograr esto mediante la creación de un tema personalizado que hereda de la construido en el tema de diálogo Android.
Aquí está mi solución.
Primero, obtenga la vista secundaria del contenido de la vista de decoración, que es FrameLayout
, usando Window#getDecorView().findViewById(android.R.id.content)
.
A continuación, agregue su vista personalizada a este FrameLayout
y estará en la parte superior de otras vistas.
- Java.lang.NoSuchMethodError: No hay método virtual zzait () Ljava / util / ArrayList; En la clase Lcom / Error?
- 2d problema de colisión de la bola: no hay conservación de la energía