17

我在宽度为的线性布局中有以下三个按钮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"
 />
4

3 回答 3

35

为所有按钮赋予以下属性

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

fill_parent告诉他们尽可能多地占用宽度,并weight确定当多个控件竞争同一空间时该宽度应如何分布。(尝试weight为每个按钮使用不同的值,看看它是如何工作的)

于 2010-03-01T09:14:52.243 回答
7

您应该为每个按钮指定这些属性:

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>
于 2010-03-01T09:14:49.747 回答
2

您可以使用以下代码:

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

你必须在每个按钮上做 0dp 的宽度。

于 2012-12-17T13:54:43.843 回答