layout_weight и layout_width = 0dp в линейном макете создают неожиданный макет - PullRequest
1 голос
/ 19 декабря 2011

Я попытался поместить две кнопки одинакового размера в линейное расположение.Моя проблема в том, что левая кнопка не на той же высоте, что и правая.

Я искал ответ, но не нашел ничего связанного с моей проблемой.

здесьИзображение того, что я получаю на устройстве Android 2.1: http://tinypic.com/r/eskb4n/5

я использовал этот код: `

<LinearLayout
    android:layout_alignParentBottom="true"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:gravity="bottom">

    <Button
        android:id="@+id/take_pic_btn"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/take_pic" />

    <Button
        android:id="@+id/from_gallery_btn"
        android:text="@string/from_gallery"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        />
</LinearLayout>`

спасибо за вашу помощь!

РЕДАКТИРОВАТЬ: я использовал0dp для layout_width вместо fill_parent ..

Ответы [ 2 ]

0 голосов
/ 19 декабря 2011

Вы можете установить android: layout_height = "fill_parent" для обеих кнопок.

Надеюсь, это поможет!

0 голосов
/ 19 декабря 2011

Я вижу 2 возможных решения:

1) установить фиксированный android: layout_height, чтобы обе кнопки определенно занимали одинаковое вертикальное пространство.

<LinearLayout
android:layout_alignParentBottom="true"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" 
android:gravity="bottom">

<Button
    android:id="@+id/take_pic_btn"
    android:layout_width="fill_parent"
    android:layout_height="40dip"
    android:layout_weight="1"
    android:text="@string/take_pic" />

<Button
    android:id="@+id/from_gallery_btn"
    android:text="@string/from_gallery"
    android:layout_width="fill_parent"
    android:layout_height="40dip"
    android:layout_weight="1"
    />

2) силатекст на кнопку, чтобы взять только одну строку.

<LinearLayout
android:layout_alignParentBottom="true"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content" 
android:gravity="bottom">

<Button
    android:id="@+id/take_pic_btn"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true" 
    android:maxLines="1" 
    android:text="@string/take_pic" />

<Button
    android:id="@+id/from_gallery_btn"
    android:text="@string/from_gallery"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true" 
    android:maxLines="1"
    />

...