Как установить ширину кнопок в Android для покрытия ширины экрана? - PullRequest
16 голосов
/ 01 марта 2010

друзья

у меня есть следующие три кнопки в линейном макете с шириной fill_parent

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

любая помощь будет оценена.

<Button 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:id="@+id/btnReplyMessage" 
   android:gravity="left"
   android:text="Reply" 
/>

<Button 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:id="@+id/btnMarkAsUnread"
   android:gravity="left" 
   android:text="Mark as unread" 
/>

<ImageButton 
   android:id="@+id/btnDeleteMessage"
   android:src="@drawable/imgsearch"
   android:gravity="right" 
   android:layout_height="wrap_content"
   android:layout_width="wrap_content"
   android:layout_alignParentRight="true"
 />

Ответы [ 3 ]

35 голосов
/ 01 марта 2010

Дайте всем кнопкам следующие свойства

android:layout_width="fill_parent"
android:layout_weight="1"

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

7 голосов
/ 01 марта 2010

Вы должны просто указать эти атрибуты для каждой кнопки:

android:layout_width="fill_parent"
android:layout_weight="1"

Так должно быть что-то вроде этого:

<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"/>
  <Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"/>
  <Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"/>
</LinearLayout>
2 голосов
/ 17 декабря 2012

Вы можете использовать следующий код:

  <Button
  android:layout_width="0dp"
  android:layout_height="wrap_content"
  android:layout_weight="1"/>

Вы должны сделать ширину 0dp для каждой кнопки.

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