Как сделать этот макет? (Ссылка на изображение) - PullRequest
2 голосов
/ 12 апреля 2010

Мне было интересно, как получить этот результат:

http://img718.imageshack.us/img718/6173/screenshot20100411at126.png

Вот что я пробовал:

<RelativeLayout android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:background="#CCCCCC"
                  android:orientation="horizontal"
                  android:layout_weight="0">

        <Button android:id="@+id/btn_cancel"
                android:text="@string/cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5px"
                android:gravity="left"
                />

        <Button android:id="@+id/btn_save"
                android:text="@string/save"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5px"
                android:layout_toRightOf="@id/btn_cancel"
                android:gravity="right"/>
    </RelativeLayout>

Я пытался поиграть со свойствами layout_width и настроить их так, чтобы они заполняли обоих родителей, но не сработало, если у кого-то есть идея ... Спасибо!

1 Ответ

4 голосов
/ 12 апреля 2010
<LinearLayout android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              android:padding="5dip"
              android:background="#CCCCCC"
              android:orientation="horizontal">

    <Button android:id="@+id/btn_cancel"
            android:text="@string/cancel"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginRight="5dip"
            android:layout_weight="1"/>

    <Button android:id="@+id/btn_save"
            android:text="@string/save"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"/>
</LinearLayout>

Хитрость в LinearLayout, позволяющая двум виджетам занимать одинаковое количество места, состоит в том, чтобы установить layout_width="fill_parent" для них обоих, а затем установить layout_weight="1" для них обоих. Установка обоих атрибутов fill_parent и одинакового layout_weight скажет LinearLayout разделить все доступное пространство между ними.

Также используйте dip вместо px. dip не зависит от размера экрана и будет лучше смотреться на экранах разных размеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...