布局问题;重叠按钮

时间:2017-07-20 16:30:56

标签: java android android-layout layout

如何制作按钮3和相对布局(蓝色背景)都在按钮2的前面?它们在组件树中都更高(值),但按钮2仍然在所有内容之前。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginStart="75dp"
    android:layout_marginTop="64dp"
    android:text="Button 2" />

<RelativeLayout
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_alignStart="@+id/button2"
    android:layout_alignTop="@+id/button2"
    android:layout_marginStart="48dp"
    android:background="@android:color/holo_blue_bright"
    android:id="@+id/relativeLayout">

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignStart="@+id/relativeLayout"
        android:layout_alignTop="@+id/button2"
        android:layout_marginStart="11dp"
        android:layout_marginTop="17dp"
        android:text="Button 3" />
</RelativeLayout>

enter image description here

1 个答案:

答案 0 :(得分:2)

答案在于material design specs。提升按钮(即未应用style的按钮)的默认高程为2dp,而RelativeLayout0dp。 我的建议是将style="@style/Widget.AppCompat.Button.Borderless"应用于button2。然后它有0dp高程。如果您想要彩色按钮,请将android:background应用于它。