在Android中,在左侧和右侧放置具有等边距的按钮

Aks*_*ani 0 android button android-layout

我是Android新手.我想水平放置4个按钮,左右两侧边距相等,如下面的线框图所示:

在此输入图像描述

我在Google和Stackoverflow上搜索了很多.我试着设置android:layout_weight ="1".但它只从左侧设定相同的余量.我想在两侧和多个屏幕布局上设置它.我想知道应该为此应用哪些布局和属性.我在Android工作室使用,大多使用拖放方法进行设计.

目前我的XML布局如下:

  <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/frameLayout"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginTop="10dp"
    android:id="@+id/relativeLayout">

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="3"
        android:id="@+id/b3"
        android:layout_gravity="left|center_vertical"
        android:onClick="buttonThree"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="false"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="false"
        android:layout_weight="1"
        android:width="0dp" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="5"
        android:id="@+id/b5"
        android:layout_gravity="left|center_vertical"
        android:onClick="buttonFive"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/b3"
        android:layout_toEndOf="@+id/b3"
        android:layout_alignParentRight="false"
        android:layout_alignParentLeft="false"
        android:layout_weight="1"
        android:width="0dp"
        android:layout_alignParentBottom="false" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="7"
        android:id="@+id/b7"
        android:layout_gravity="left|center_vertical"
        android:onClick="buttonSeven"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/b5"
        android:layout_toEndOf="@+id/b5"
        android:layout_alignParentRight="false"
        android:layout_weight="1"
        android:width="0dp" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="9"
        android:id="@+id/b9"
        android:layout_gravity="left|center_vertical"
        android:onClick="buttonNine"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/b7"
        android:layout_toEndOf="@+id/b7"
        android:layout_alignParentRight="false"
        android:layout_weight="1"
        android:width="0dp" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

Hit*_*ahu 5

布局权重与LinearLayout一起使用,linearlayout中的每个视图将采用designeatedweight/weightsum乘以总宽度或高度.

将按钮移动到线性布局,重量总和为4.将按钮的重量分配为1将使它们自动占据屏幕空间的1/4.对于相等的间距,为线性布局分配边距将使它们看起来等间距.

    <Button
        android:id="@+id/b3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:onClick="buttonThree"
        android:text="3" />

    <Button
        android:id="@+id/b5"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"

        android:layout_weight="1"
        android:onClick="buttonFive"
        android:text="5" />

    <Button
        android:id="@+id/b7"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:onClick="buttonSeven"
        android:text="7" />

    <Button
        android:id="@+id/b9"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_weight="1"
        android:onClick="buttonNine"
        android:text="9" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

结果

在此输入图像描述