单击时不要将按钮置于前台

Don't bring button to foreground on click

我的应用目前如下所示。 RelativeLayout 中的三个 Button,中间按钮的左右边距为负边距,与其他两个按钮重叠。

问题: 当我点击左键或右键时,它会跳到前台一秒钟并与中间按钮重叠,非常难看。

    <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>

使用框架布局。您放入其中的所有物品都堆叠在一起。

或尝试:

将图像视图放在上方(在顶部 - 父级的第一个子级) xml 文件中的布局,这样图像将位于布局后面。

使用按钮应该没有关系,应该是一样的。 希望对你有帮助。

我从这个 link

中得到了这些信息

编辑:

这就是我使用您的代码并将其转换为框架布局时的样子,也许我缺少某些东西,因为我无法在模拟器 atm 上启动它。

默认按钮在被触摸时有 运行 的动画,并使用 StateListAnimator to do this. The animations that elevate the button changes the android:elevation and android:translateZ properties of the view

要防止此动画,只需通过设置停止此视图上 运行 的动画: android:stateListAnimator="@null"