Просмотры, принимающие равную долю в Layout - PullRequest
1 голос
/ 18 февраля 2012

Я создал пользовательский конструктор диалогов, содержащий 2 кнопки.

В зависимости от настроек диалога, я могу выбрать полностью скрыть одну из кнопок, используя Window.GONE.

В идеале, я хочу, чтобы это произошло: 1. Если есть только одна кнопка, заполните ее макетом 2. Если есть две кнопки, разделите пространство в макете поровну с помощью этих

Можно ли сделать это без необходимости определять ширину диалогового окна, количество кнопок, а затем устанавливать размеры вручную? Я надеялся, что может быть более аккуратный способ выполнить это

Ответы [ 2 ]

2 голосов
/ 18 февраля 2012

хорошо, вот как бы я это сделал:

<LinearLayout layout_width:fill_parent layout_height:wrap_content>

    <Button
       layout_width=fill_parent
       layout_height=wrap_content
       layout_weight=1/>
    <Button
       layout_width=fill_parent
       layout_height=wrap_content
       layout_weight=1/>
</LinearLayout>

Хитрость заключается в том, чтобы поместить оба элемента шириной fill_parent и весом 1. Если оба они нарисованы, каждый из них будет занимать половину экрана. Если вы используете View.Gone, один из них исчезнет, ​​а другой должен занять все пространство.

1 голос
/ 18 февраля 2012

да, конечно, поместите ваши представления в виде кнопки в линейное расположение и присвойте своим кнопкам равное layout_weight решит вашу проблему.

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