Come hai detto tu stesso, inserisci entrambi gli elementi all'interno di un RelativeLayout.
Quindi, impostare il "center_horizontal" di proprietà di entrambi gli elementi alla vera, e quindi impostare il "sotto" proprietà dell'elemento verde per l'id dell'elemento nero.
Ecco l'esempio completo:
<?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" è un pò opzionale)
O qui, indipendentemente l'altra posizione Visualizzazioni:
<?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>
(In In questo caso, i margini definiranno la larghezza della seconda vista)
Questo è il risultato finale:
fonte
2013-08-26 20:31:30
possibile duplicato del [alignCenter layout relativa Android da un'altra vista] (http://stackoverflow.com/questions/5487864/android-relative-layout-aligncenter-from -un'altra-vista) – tir38