¿Por qué se puede hacer clic en un botón cuando hay otro diseño que lo superpone?

Tengo un Layout que está relativamente bien posicionado. En él conseguí (ahora) dos cosas:

  • Un botón clicable que está enlazado a un evento onClick
  • Un LinearLayout que se superpone a la pantalla completa

Aunque el LinearLayout está superponiendo el botón, el botón todavía se puede hacer clic. Incluso si hay otro botón en la superposición.

¿Cómo puedo evitar esto?

Las vistas superpuestas (y diseños) tienen que implementar un oyente onClick para capturar el evento, de lo contrario el evento se distribuye en las vistas de subyacente.

Bueno, encontré un enfoque que funciona junto con la animación:

El Layout (abreviado):

 <RelativeLayout ...> <Button ... /> <LinearLayout android:id="@+id/underlay" android:background="#00ffffff" /> <LinearLayout android:id="@+id/overlay" ... /> </RelativeLayout> 

Ahora cuando Fading In "overlay" parece ser el mejor tener un invisible "underlay" que se pone inmediatamente a VISIBLE:

 LinearLayout underlay = (LinearLayout)findViewById(R.id.underlay); underlay.setVisibility(View.VISIBLE); underlay.setOnClickListener(...); //now animate the overlay 
  • Implementar onClick sólo para un compuesto TextView dibujable
  • Array @OnClick con identificadores opcionales (ButterKnife)
  • Eliminar un detector de onclick
  • Haga que un botón de Android cambie el fondo al hacer clic en XML
  • Botones del diseño de Inflated onClick el oyente no funciona
  • OnClick no activado en LinearLayout con el niño
  • Iniciar nueva actividad desde ListFragment utilizando onListItemClick ()
  • ¿Es posible escribir un bucle for para asignar a los oyentes a muchos botones con la misma función donde se utilizan los últimos?
  • Evento de clic de AutoCompleteTextView en Android
  • ¿Agregar un onclick a un submenú?
  • Diferencia entre onSingleTapConfirmed y onSingleTapUp
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.