如何在 LinearLayout 中水平对齐 3 个固定宽度的按钮?

How to align horizontally 3 fix width buttons in LinearLayout?

我有这样的布局:

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

        <Button
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:text="Button1"/>

        <Button
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:text="Button2"/>

        <Button
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:text="Button3"/>

    </LinearLayout>

我想水平对齐这 3 个 固定宽度 按钮。你能帮帮我吗?

试试这个代码

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="32dp">

    <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="Button1"/>

    <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="Button2"/>

    <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="Button3"/>

</RelativeLayout>

基本上有3个步骤。

  1. 将 weightSum="3" 设置为父布局。也就是说整个layout_weights的和是3.

  2. 为每个单独的按钮设置 layout_weight="1"。所以每个单独的按钮都是父按钮大小的 1/3。

  3. 最后设置layout_width="0dp",这很重要,因为在这里你不必设置视图的宽度。它将由布局处理程序自动设置。

        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Button1"
            android:layout_weight="1"/>
    
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Button2"
            android:layout_weight="1"/>
    
        <Button
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="Button3"
            android:layout_weight="1"/>
    
    </LinearLayout>
    

试试这个并根据您的要求更改重量

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="9" 
        android:orientation="horizontal"
        android:paddingTop="32dp">
        <Button
            android:layout_width="0dp"
            android:layout_weight="3"
            android:layout_height="wrap_content"
            android:text="Button1"/>
        <Button
            android:layout_width="0dp"
             android:layout_weight="3"
            android:layout_height="wrap_content"
            android:text="Button2"/>
        <Button
            android:layout_width="0dp"
            android:layout_weight="3"
            android:layout_height="wrap_content"
            android:text="Button3"/>
    </LinearLayout>