Линейное Расположение и вес в Android

Я всегда читал об этом забавном значении веса в документации Android. Теперь я хочу попробовать его впервые, но это не работает вообще.

Насколько я понимаю из документации это расположение:

  <LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal">

     <Button
        android:text="Register"
        android:id="@+id/register"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dip"
        weight="1" />

     <Button
        android:text="Not this time"
        android:id="@+id/cancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dip"
        weight="1" />

  </LinearLayout>

должен создать две кнопки, которые являются горизонтально выровненные и совместно используют пространство одинаково. Проблемой являются эти две кнопки, не растут для заполнения пространства.

Я хотел бы, чтобы кнопки вырастили и заполнили целую строку. Если и кнопки установлены соответствовать родителю, только первую кнопку показывают и заполняет целую строку.

250
задан ivan_pozdeev 14 May 2019 в 05:31
поделиться

5 ответов

Вы не устанавливаете свойство layout_weight. Ваш код гласит weight="1", а должен гласить android:layout_weight="1".

152
ответ дан 23 November 2019 в 02:55
поделиться

Возможно, установка для обоих свойств кнопки layout_width значения "fill_parent" поможет.

Я только что протестировал этот код, и он работает в эмуляторе:

<LinearLayout android:layout_width="fill_parent"
          android:layout_height="wrap_content">

    <Button android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="hello world"/>

    <Button android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="goodbye world"/>

</LinearLayout>

Не забудьте установить для layout_width значение «fill_parent» на обеих кнопках.

5
ответ дан 23 November 2019 в 02:55
поделиться

Замените wrap_content на fill_parent .

0
ответ дан 23 November 2019 в 02:55
поделиться

Попробуйте установить layout_width обеих кнопок на «0dip» и вес обеих кнопок равняется 0,5

16
ответ дан 23 November 2019 в 02:55
поделиться

В приведенном выше XML установите android:layout_weight линейного макета как 2: android:layout_weight="2"

2
ответ дан 23 November 2019 в 02:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: