¿Cómo puedo interactuar con elementos detrás de una aplicación Android translúcida?

He encontrado cómo crear un fondo translúcido para mi aplicación androide, pero hasta ahora no he encontrado cómo interactuar con lo que está detrás de él (la pantalla de inicio, por ejemplo).

Esta publicación me ayudó a hacer la vista de la aplicación translúcida.

¿Cómo se puede permitir que el usuario interactúe con lo que hay detrás de la aplicación translúcida? Esta aplicación es un buen ejemplo de una aplicación que permite que sea la aplicación "Transparent Screen" de Android.

Una forma muy simple de entender el apilamiento de puntos de vista es tomar un libro (cualquier libro). Piense en cada página como una vista.

Visibilidad

  • Al abrir el libro, puede ver una página (Vista principal – VISIBLE )
  • Cuando gire la página actual, podrá ver la siguiente página ( INVISIBLE – Main View para mostrar la siguiente vista) Recuerde que solo está ocultando la vista, si establece la visibilidad a GONE esto equivale a desgarrar la página actual para ver la siguiente página siguiente página.)

Escenarios táctiles

  • Supongamos que su primera página es una página de cera (página translúcida similar a su vista translúcida) para que pueda ver la página subyacente
  • Cuando intenta tocar una figura en la segunda página, está tocando la primera página aunque puede ver la figura en la segunda página. Es imposible tocar la figura en la segunda página a través de la primera página.

No se desanime, ya que es una vista que va a tratar y no un papel que todavía puede hacer lo que quieres hacer 🙂

  • Implementar View.OnTouchListener para sus vistas
  • Para ver translúcido cualquier evento táctil que obtengas, devuelve FALSE en el método onTouch
  • Android pasará el evento táctil a su vista subyacente.

Tengo la respuesta. Adición de línea getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE); En onCreate en la segunda actividad superior (que es transparente hizo el truco).

La solución anterior tiene un problema. Después de usar toda la ventana completa pasa el toque al fondo. Así que si quieres un control completo, entonces mejor extiende un diseño, por ejemplo, Framelayout y reemplaza 'onTouchEvent' y obtén la ubicación touch usando los métodos event.getX () y event.getY () y devuelve false donde quieres pasar el evento touch. Se pasará a la vista principal.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.