Android水平平分两个按钮

1,702 阅读1分钟

前言

最近写花卉识别系统的安卓部分,遇到了一些问题。

如何把两个按钮水平分开,是我当初比较头疼的问题,后来就简单设计了一下,就去写功能部分的代码了,回过头来实验一下却出了问题。

原码

我整个页面的设计是一个线性布局,上面摆一个ImageView控件,下面放两个按钮。

原来对两个按钮的设计是一个相对布局。

	<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

        <Button
            android:id="@+id/camera_btn"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_centerVertical="true"
            android:layout_marginStart="70dp"
            android:background="@drawable/xiangji"
            />

        <Button
            android:id="@+id/album_btn"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_marginStart="105dp"
            android:layout_centerVertical="true"
            android:layout_toEndOf="@id/camera_btn"
            android:background="@drawable/xiangce"/>

    </RelativeLayout>

在预览图中看着还可以

整体是一个这样的设计:

后来我感觉这个设计糟透了,自己设计距离肯定会出问题。

手机测试中两个按钮全偏了

修改

考虑后,把原来的相对布局换为了水平布局LinearLayout,orientation属性设置为horizontal水平摆放,然后在里面添加两个相对布局RelativeLayout,最后把两个按钮分别放置在相对布局的中心就可以了。

	<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_margin="10dp"
        android:layout_weight="2"
        android:orientation="horizontal"

        android:baselineAligned="false">

        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:layout_margin="10dp"

            android:orientation="horizontal">

            <Button
                android:id="@+id/camera_btn"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:layout_centerInParent="true"
                android:background="@drawable/xiangji"

                />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="2"
            android:layout_margin="10dp"

            android:orientation="horizontal"

            >

            <Button
                android:id="@+id/album_btn"
                android:layout_width="80dp"
                android:layout_height="80dp"
                android:layout_marginStart="10dp"
                android:layout_centerInParent="true"
                android:background="@drawable/xiangce" />
        </RelativeLayout>

    </LinearLayout>

整体的设计就变成了这样:

参考

博客