У меня есть макет, как это:кнопка Android RelativeLayout перекрывающихся
я хочу сделать btn1 вертикального выравнивания к центру и элементов под ним будет подталкивать ниже также. Но после того, как я поставил android: layout_centerVertical в btn1, он был вертикально выровнен по центру, но элемент под ним не толкает вниз.
Layout после того, как я поставил андроид: layout_centerVertical = "истинный" в btn1:
Это мой XML:
<RelativeLayout
android:id="@+id/layout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn1"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="1" />
<Button
android:id="@+id/btn2"
android:layout_centerHorizontal ="true"
android:layout_below="@id/btn1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Some Text 1" />
<Button
android:id="@+id/btn3"
android:layout_below="@id/btn2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Some Text 2" />
<Button
android:id="@+id/btn4"
android:layout_toRightOf ="@id/btn3"
android:layout_alignBottom="@id/btn3"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Some Text 3" />
</RelativeLayout>
</RelativeLayout>
Я знаю, что если я назначить достаточную высоту в родительском макета он будет работать нормально, но позже я сделаю эту форму динамически генерируемой. Любой способ сделать это автоматически нажатием на wrap_content?
Простой способ с линейной компоновкой. Просто измените второй RelativeLyout с LinearLayout и добавьте один андроид: ориентация = «вертикальная» –
Удалите внутреннюю 'RelativeLayout' –