Абсолютное центрирование в макете Android - PullRequest
1 голос
/ 23 июля 2010

Я потратил так много времени, пытаясь понять это. Я строю макет диалога и пытаюсь расположить заголовок по центру относительно диалогового окна, имея 2 кнопки по обе стороны от заголовка. Кнопки должны быть «притянуты» в крайнее левое и правое положение.

Легкая часть - центрировать диалог ИЛИ делать кнопки далеко влево и вправо. Это заставляет их хорошо играть друг с другом на одной линии.

Простой способ думать об этом:

  1. Заголовок центрируется в диалоге
  2. 2 Кнопки независимо выровнены влево и вправо на одной строке

Есть мысли о том, как это сделать?

1 Ответ

0 голосов
/ 23 июля 2010

IMO Я бы попытался создать настраиваемый диалог и использовать TableLayout для размещения ваших элементов.Таким образом, вы можете поместить свои кнопки и использовать атрибут stretchcolumn в заголовке, чтобы нажимать кнопки сбоку экрана.(Если я вас хорошо понял)
альтернативный текст http://img801.imageshack.us/img801/4372/tablelayout.png
Если вы воспользуетесь этим примером XML, он должен работать и не зависеть от размера экрана / поворота:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:stretchColumns="1">

<TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content"
    android:layout_height="wrap_content">
    <Button android:text="Button01" android:id="@+id/Button01"
        android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
    <TextView android:text="This is your title" android:id="@+id/TextView01"
        android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" ></TextView>
    <Button android:text="Button02" android:id="@+id/Button02"
        android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</TableRow>
</TableLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...