将视图置于另一个视图的顶部

时间:2015-03-19 17:06:00

标签: android android-layout

使用此图像作为参考,我有我的红色视图。在我的RelativeLayout上的某个时刻。

我希望蓝色的左侧与红色的左侧相匹配

我希望蓝色的中心与红色的顶部匹配

红色可以是任何尺寸,所以我希望它是相对的。我无法弄明白!

我实际上是在代码中执行此操作,但出于示例的目的,这里是一个起点:

<Button
    android:id="@+id/red"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="50px"
    android:layout_marginTop="100px"
    android:background="#ffff0000" />

<Button
    android:id="@+id/blue"
    android:layout_width="50dp"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/red"
    android:layout_alignLeft="@+id/red"
    android:background="#990000ff" />

给出这个

enter image description here

我想要做到这一点(我在这里设置了dp的余量,但我不能这样做 - 我在运行时不知道红色或蓝色视图的尺寸)。红色和蓝色的大小不一定相同。

enter image description here

1 个答案:

答案 0 :(得分:0)

            android:layout_alignLeft="@+id/button1" 
            android:layout_alignTop="@+id/button1"

希望有效。例如

    <Button
        android:layout_width="90dp"
        android:layout_height="wrap_content"
        android:text="Red Button"
        android:id="@+id/button1"
        android:background="@color/red"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="154dp" />

    <Button
        android:layout_width="50dp"
        android:layout_height="30dp"
        android:text="Blue Button"
        android:id="@+id/button2"
        android:background="@color/material_blue_grey_800"
        android:layout_alignLeft="@+id/button1" 
        android:layout_alignTop="@+id/button1"/>