【问题标题】:Android - LinearLayout : How to add autospace beetween items to fill the layout horizontallyAndroid - LinearLayout:如何在项目之间添加自动空间以水平填充布局
【发布时间】:2012-09-21 22:25:50
【问题描述】:

如何让水平 LinearLayout 中的 4 个固定大小的按钮水平填充该层的空间,让 Android 在这些按钮之间放置所需的空间来填充该空间?

【问题讨论】:

    标签: android android-layout android-linearlayout gravity autofill


    【解决方案1】:

    你在寻找这样的东西吗?

    <?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="fill_parent"
    android:background="#FFF"
    android:orientation="vertical" >
    
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
    
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:orientation="vertical" >
        </LinearLayout>
    
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
    
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:orientation="vertical" >
        </LinearLayout>
    
        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
    
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:orientation="vertical" >
        </LinearLayout>
    
        <Button
            android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />
    </LinearLayout>
    

    【讨论】:

      【解决方案2】:

      如果我理解正确,您想让这 4 个按钮在水平 LinearLayout 中占据相等的空间,如果是这样,则在 XML 布局中添加:android:layout_weight="1",每 4 个按钮。

      【讨论】:

      • 不,这会使按钮变大。我希望这些按钮之间的空间能够适应并增长以填充空间。我希望按钮之间的空间充当填充物。