我怎样才能alignment一个元素在相对布局的中心和另一个元素之上?

这是一张照片,你可以理解我想要的东西:

在这里输入图像说明

我已经在我的相对布局中设置了这个绿色元素,我想要的是将另一个元素(图片中的黑色元素)放在它上面,以便它完全居中在绿色元素的中间。

请记住,黑色的元素没有固定的宽度,宽度比绿色的宽。

有东西像android:layout_alignLeft和android:layout_alignRight这将是有益的,如果我想要左alignment或右alignment,但据我所知没有android:layout_alignCenter,所以我不知道如何做这个事情…

Solutions Collecting From Web of "我怎样才能alignment一个元素在相对布局的中心和另一个元素之上?"

正如你所说,把两个元素放在一个RelativeLayout中

然后,将两个元素的“ center_horizo​​ntal ”属性设置为true,然后将绿色元素的“ below ”属性设置为黑色元素的id。

这是一个完整的例子:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <View android:id="@+id/view1" android:layout_width="100dp" android:layout_height="40dp" android:background="@color/Black" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> <View android:id="@+id/view2" android:layout_height="100dp" android:layout_below="@+id/view1" android:background="@color/Green" android:layout_centerHorizontal="true" /> </RelativeLayout> 

(“center_vertical”有点可选)

或者在这里, 不pipe其他意见位置:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <View android:id="@+id/view1" android:layout_width="100dp" android:layout_height="40dp" android:background="@color/Black" android:layout_centerVertical="true" /> <View android:id="@+id/view2" android:layout_width="40dp" android:layout_height="100dp" android:layout_below="@+id/view1" android:layout_alignLeft="@+id/view1" android:layout_alignRight="@+id/view1" android:layout_marginLeft="30dp" android:layout_marginRight="30dp" android:background="@color/Green" /> </RelativeLayout> 

(在这种情况下,边距将定义第二个视图宽度)

这是最终的结果:

在这里输入图像说明