0

我在填充整个屏幕的水平布局中有 3 个按钮。

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

<Button
android:layout_width="100dp"
android:layout_height="50dp" 
android:text="1" />

<Button 
android:layout_width="100dp"
android:layout_height="50dp" 
android:text="2"/>

<Button 
android:layout_width="100dp"
android:layout_height="50dp" 
android:text="3"/>

我的两个问题是:

  1. 如何在不修改宽度的情况下使右侧按钮粘在屏幕的右边缘?

  2. 如何在不修改其宽度的情况下使 2 号按钮填充按钮 1 和 3 之间的空白空间?

4

4 回答 4

2

使用 layout_weight 应该可以完成工作,视图的权重是视图将填充的剩余空间的比例。

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

    <Button
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:text="1" />

    <Button
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="1"
        android:text="2"/>

    <Button 
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:text="3"/>

</LinearLayout>
于 2013-09-18T14:37:02.150 回答
0

我认为使用相对布局将是这样的最佳解决方案。

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



  <LinearLayout   
    android:layout_width="wrap_content" 
     android:layout_height="wrap_content"
   android:orientation="horizontal"
android:layout_toLeftOf="@+id/button3"
android:alignParentLeft=”true”&gt;

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

<Button 2
android:layout_width="0dp"
android:layout_height="50dp" 
android:text="2"
android:layout_weight="1"/>
</LinearLayout>

<Button 3
android:id=”@+id/button3”
android:layout_width="100dp"
android:layout_height="50dp" 
android:text="3"
android:alignParentRight=”true”/>

</RelativeLayout>
于 2013-09-18T14:40:11.787 回答
0

尝试相对布局....

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:id="@+id/relative"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<Button
    android:id="@+id/bt1"
    android:layout_width="60dp"
    android:layout_alignParentLeft="true"
    android:layout_height="50dp"
    android:text="1" />

<Button
    android:id="@+id/bt2"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_toRightOf="@+id/bt1"
    android:layout_toLeftOf="@+id/bt3"
    android:text="2" />

<Button
     android:id="@+id/bt3"
    android:layout_width="60dp"
    android:layout_height="50dp"
    android:layout_alignParentRight="true"
    android:text="3" />

于 2013-09-18T14:51:43.263 回答
0

我希望这能帮到您 :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="false"
    android:weightSum="0.6"
    android:orientation="horizontal">
  <RelativeLayout
      android:layout_height="wrap_content"
      android:layout_width="0dp"
      android:layout_weight="0.2" >

      <Button
          android:layout_width="100dp"
          android:layout_height="50dp"
          android:layout_centerInParent="true"
          android:text="1" />

      </RelativeLayout>

    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.2" >

    <Button
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_centerInParent="true"
        android:text="2" />

    </RelativeLayout>

    <RelativeLayout
        android:layout_height="wrap_content"
        android:layout_width="0dp"
        android:layout_weight="0.2" >

    <Button
        android:layout_width="100dp"
        android:layout_height="50dp"
        android:layout_centerInParent="true"
        android:text="3" />

    </RelativeLayout>
    </LinearLayout>
于 2013-09-18T14:53:12.997 回答