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)
默认按钮具有在触摸时运行的动画并使用 aStateListAnimator来执行此操作。提升按钮的动画会改变视图的android:elevation和android:translateZ属性。
为了防止这个动画,只需通过设置停止动画在这个视图上运行:
android:stateListAnimator="@null"