点击时不要将按钮带到前台

poi*_*oae 7 android button z-order overlap relativelayout

我的应用程序目前如下所示.Buttona RelativeLayout中有三个s ,中间按钮左右边距为负,与其他两个按钮重叠.

问题:当我单击左侧或右侧按钮时,它会到达前景一秒钟并重叠中间按钮,这看起来非常难看.

在此输入图像描述

在此输入图像描述

    <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>
Run Code Online (Sandbox Code Playgroud)

Cap*_*Jak 5

默认按钮具有在触摸时运行的动画并使用 aStateListAnimator来执行此操作。提升按钮的动画会改变视图的android:elevationandroid:translateZ属性

为了防止这个动画,只需通过设置停止动画在这个视图上运行: android:stateListAnimator="@null"