No lleve el botón al primer plano al hacer clic

Mi aplicación se ve actualmente como a continuación. Tres Button s en un RelativeLayout , el botón central tiene margen negativo izquierdo y derecho para solapar los otros dos botones.

Problema : Cuando hago clic en el botón izquierdo o derecho, llega al primer plano por un segundo y se superpone al botón del medio, que se ve muy feo.

Introduzca aquí la descripción de la imagen

Introduzca aquí la descripción de la imagen

  <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal"> <Button android:id="@+id/voices" android:layout_width="160dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:onClick="clickVoices" android:background="#333" android:textColor="#fff" android:text="@string/main_voices" /> <Button android:id="@+id/chat" android:layout_width="160dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:onClick="clickChat" android:background="#333" android:textColor="#fff" android:text="@string/main_chat" /> <Button android:id="@+id/record" android:layout_width="60dp" android:layout_height="100dp" android:clickable="true" android:onClick="clickRecord" android:scaleType="centerInside" android:src="@drawable/record" android:text="Record" android:layout_toRightOf="@+id/voices" android:layout_toLeftOf="@+id/chat" android:layout_marginLeft="-20dp" android:layout_marginRight="-20dp" android:layout_marginTop="-30dp" android:background="@drawable/round_button" android:paddingTop="30dp" android:layout_marginBottom="10dp" /> </RelativeLayout> 

2 Solutions collect form web for “No lleve el botón al primer plano al hacer clic”

El botón predeterminado tiene animaciones que se ejecutan cuando se toca y utiliza un StateListAnimator para hacer esto. Las animaciones que se ejecutan, que elevan el botón, se llaman al toque y cambia las propiedades android:elevation y android:translateZ de la vista ( ref de Google ).

Para evitar que esto se anime, simplemente detenga las animaciones que se ejecuten en esta vista. Utilizar:

android:stateListAnimator="@null"

Utilice un FrameLayout. Todos los artículos que usted pone adentro allí se apilan encima de uno a.

O pruebe:

Coloque la vista de imagen arriba (en la parte superior – el primer hijo del padre) el diseño en el archivo xml de esa manera la imagen estará detrás del diseño.

No debería importar que usted está utilizando un botón, debe ser el mismo. Espero eso ayude.

Recibí esta información de este enlace

EDITAR:

Así es como se ve cuando tomo su código y lo convierten en un marco de diseño, tal vez estoy perdiendo algo porque no puedo lanzarlo en un emulador atm.

Ejemplo de framelayout

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