1

我想在我的相对布局中将中心水平和中心垂直对齐所有 3 个按钮作为 1 个按钮!

我使用了带有参数 android:layout_weight 的 LinearLayout,但修改了 Buttons 的高度。这是我的布局文件。谢谢!

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Main" >

<Button
    android:id="@+id/bt_singleColor"
    android:layout_width="150dp"
    android:layout_height="100dp"
    android:layout_centerHorizontal="true"
    android:layout_margin="@dimen/button_margin"
    android:background="@drawable/button_circle"
    android:padding="@dimen/button_padding"
    android:text="@string/button_01"
    android:textColor="@color/button_text_color" />

<Button
    android:id="@+id/bt_shake"
    android:layout_width="150dp"
    android:layout_height="100dp"
    android:layout_below="@+id/bt_singleColor"
    android:layout_centerHorizontal="true"
    android:layout_margin="@dimen/button_margin"
    android:background="@drawable/button_circle"
    android:padding="@dimen/button_padding"
    android:text="@string/button_02"
    android:textColor="@color/button_text_color" />

<Button
    android:id="@+id/bt_autoColor"
    android:layout_width="150dp"
    android:layout_height="100dp"
    android:layout_below="@+id/bt_shake"
    android:layout_centerHorizontal="true"
    android:layout_margin="@dimen/button_margin"
    android:background="@drawable/button_circle"
    android:padding="@dimen/button_padding"
    android:text="@string/button_03"
    android:textColor="@color/button_text_color" />

4

1 回答 1

0

你可以使用类似的东西

<RelativeLayout to match parent or fill parent>
<LinearLayout with wrap_content and layout centerInParent>
<Button/>
<Button/>
<Button/>
</LinearLayout>
</RelativeLayout>

这意味着 LinearLayout 在相对布局中绝对居中,如果您想要其他东西,您可以使用这种对齐方式。而对于 Linearlayout,您可以使用 wrap_content 根据按钮大小、边距和填充来检测其大小。也不要忘记 LinearLayout 的方向。

于 2013-11-11T15:38:19.170 回答