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?

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.

http://developer.android.com/guide/topics/ui/themes.html

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.

  • Vista personalizada - ¿Cómo configuro sus ID para que se puedan encontrar a través de findViewById ()?
  • Android Color de fondo cambiado al azar
  • Android View con View.GONE sigue recibiendo onTouch y onClick
  • Vista personalizada con diseño
  • Android LinearLayout con varias filas
  • Guardar vista de mapa de bits con getDrawingCache da una imagen en negro
  • Android: ¿Cómo escalas múltiples vistas juntas?
  • Menús dinámicos en NavigationView
  • En Android: ¿Cómo definir la animación adecuada para maximizar una vista mientras se minimizan otros 2 al mismo tiempo?
  • Deslizar a otra vista en recyclerVer con ItemTouchHelper
  • SearchView y teclado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.