水平显示三个按钮

时间:2017-09-24 11:52:33

标签: android android-layout

我正在水平显示3个按钮,
enter image description here

我的代码工作正常

<LinearLayout
        android:id="@+id/button_layout"
        android:layout_below="@id/acll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="3"
        >
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content">
        <Button
            android:id="@+id/approve_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="@string/verify_d"/>
        </RelativeLayout>
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content">
        <Button
            android:id="@+id/delete_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="@string/delete_d"/>
        </RelativeLayout>
        <RelativeLayout
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content">
        <Button
            android:id="@+id/modify_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="@string/modify_d"/>
        </RelativeLayout>
    </LinearLayout>

我在RelativeLayout内使用LinearLayout,然后在RelativeLayout内放置按钮,如果我只使用LinearLayout weightSum,那么所有3个按钮占用整个宽度。

我的问题:请在不使用嵌套布局的情况下让我知道任何其他方法来实现相同的任务

4 个答案:

答案 0 :(得分:1)

嗨测试这段代码我刚写完了:

     <LinearLayout
        android:id="@+id/button_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/acll"
        android:orientation="horizontal">


        <Button
            android:id="@+id/approve_button"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_weight="1"
            android:text="@string/verify_d" />

        <android.support.v4.widget.Space
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.1" />

        <Button
            android:id="@+id/delete_button"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/delete_d" />

        <android.support.v4.widget.Space
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.1" />

        <Button
            android:id="@+id/modify_button"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:layout_weight="1"
            android:text="@string/modify_d" />
    </LinearLayout>

答案 1 :(得分:1)

您只能使用相对布局创建它。

1。使用alignParentLeft="true"

将第一个按钮对齐到左侧

2. 使用centerInParent="true"

对齐中间按钮

3. 使用alignParentRight="true".

将第三个按钮对齐右侧

然后,您可以添加所需的填充/边距。 还要将gravity center_vertical添加到所有三个按钮。

答案 2 :(得分:1)

只需使用Layout weight =1

添加layout_width match_parent即可

强文同时为父版布局添加权重和

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/button_layout"
    android:orientation="horizontal"
    android:weightSum="3">
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>
    <Button android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>
    <Button android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"/>
</LinearLayout>

答案 3 :(得分:0)