Фотографии: http://img838.imageshack.us/img838/1402/picse.png
Как сделать макет на рис. 2, используя только RelativeLayout. Ниже приведен макет xml первого снимка экрана.
Для этого можно использовать LinearLayout
внизу. Но вы хотите использовать макет RelativeLayout
только для того, чтобы:
<RelativeLayout android:layout_width="fill_parent" ... >
...
<View android:id="@+id/helper"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
<Button android:id="@+id/true_btn"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/helper"/>
<Button
android:id="@+id/false_btn"
android:layout_alignBaseline="@id/true_btn"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/helper" />
</RelativeLayout>
Разве нельзя использовать вложенные макеты?
Если вы измените кнопки на
<Button android:id="@+id/true_btn"
android:text="@string/true_option"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/false_btn"
android:text="@string/false_option"
android:layout_toRightOf="@id/true_btn"
android:layout_alignBaseline="@id/true_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
, вы используете по крайней мере полную ширину, хотя false_btn
получит все оставшееся пространство.
Чтобы увеличить ширину первого true_btn
, вы можете установить атрибут minWidth
- либо используйте фиксированное значение, либо получите ширину экрана и установите minWidth
его половина