ANDROID - 我们可以在RelativeLayout中水平居中多个按钮吗?
Q值。如何删除这个空白区域并在相对布局中添加中心的所有4个按钮,就像我们在线性布局权重中使用它来平均划分水平空间中的所有btns。
我想在中心制作所有4个按钮,没有任何容器。
PLEASE! See this Problem IMAGE
CODE
<RelativeLayout
android:id="@+id/sub_main_dashboard"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:background="@color/white"
android:gravity="center_horizontal" >
<ToggleButton
android:id="@+id/toggle1"
android:layout_width="65dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/program_outline"
android:layout_gravity="start"
android:layout_margin="10dp"
android:background="@drawable/phase1_toggle_button"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom|center_horizontal"
android:paddingBottom="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textAlignment="textEnd"
android:textAllCaps="true"
android:textColor="@color/white"
android:textOff=""
android:textOn=""
android:textStyle="bold" />
<ToggleButton
android:id="@+id/toggle2"
android:layout_width="65dp"
android:layout_height="wrap_content"
android:layout_below="@+id/program_outline"
android:layout_gravity="start"
android:layout_margin="10dp"
android:layout_toRightOf="@+id/toggle1"
android:background="@drawable/phase2_toggle_button"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom|center_horizontal"
android:paddingBottom="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textAlignment="center"
android:textAllCaps="true"
android:textColor="@color/white"
android:textOff=""
android:textOn=""
android:textStyle="bold" />
<ToggleButton
android:id="@+id/toggle3"
android:layout_width="65dp"
android:layout_height="wrap_content"
android:layout_below="@+id/program_outline"
android:layout_gravity="start"
android:layout_margin="10dp"
android:layout_toLeftOf="@+id/toggle4"
android:background="@drawable/phase3_toggle_button"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom|center_horizontal"
android:paddingBottom="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textAlignment="center"
android:textAllCaps="true"
android:textColor="@color/white"
android:textOff=""
android:textOn=""
android:textStyle="bold" />
<ToggleButton
android:id="@+id/toggle4"
android:layout_width="65dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/program_outline"
android:layout_margin="10dp"
android:background="@drawable/phase4_toggle_button"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom|center_horizontal"
android:paddingBottom="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textAlignment="center"
android:textAllCaps="true"
android:textColor="@color/white"
android:textOff=""
android:textOn=""
android:textStyle="bold" />
我想在中心制作所有4个按钮,没有任何容器。
答案 0 :(得分:0)
试试这个
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sub_main_dashboard"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal" >
<ToggleButton
android:id="@+id/toggle1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_gravity="start"
android:layout_margin="10dp"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom|center_horizontal"
android:paddingBottom="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textAlignment="textEnd"
android:textAllCaps="true"
android:textOff=""
android:textOn=""
android:textStyle="bold" />
<ToggleButton
android:id="@+id/toggle2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_margin="10dp"
android:layout_toRightOf="@+id/toggle1"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom|center_horizontal"
android:paddingBottom="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textAlignment="center"
android:textAllCaps="true"
android:textOff=""
android:textOn=""
android:textStyle="bold" />
<ToggleButton
android:id="@+id/toggle3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_margin="10dp"
android:layout_toRightOf="@+id/toggle2"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom|center_horizontal"
android:paddingBottom="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textAlignment="center"
android:textAllCaps="true"
android:textOff=""
android:textOn=""
android:textStyle="bold" />
<ToggleButton
android:id="@+id/toggle4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/toggle3"
android:layout_margin="10dp"
android:focusable="false"
android:focusableInTouchMode="false"
android:gravity="bottom|center_horizontal"
android:paddingBottom="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textAlignment="center"
android:textAllCaps="true"
android:textOff=""
android:textOn=""
android:textStyle="bold" />
答案 1 :(得分:0)
在布局中为ex.LinearLayout包裹这些按钮并应用centerInParent =&#34; true&#34;
代表:
<RelativeLayout
android:id="@+id/sub_main_dashboard"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:background="@color/white"
android:gravity="center_horizontal" >
<LinearLayout
android:centerInParent="true"
android:orientation="horizontal"
...>
<ToggleButton .. />
<ToggleButton .. />
<ToggleButton .. />
<ToggleButton .. />
</LinearLayout>
</RelativeLayout>