android - 如何在相对布局中水平居中按钮?

标签 android android-layout

首先搜索解决方案(例如 here ),我找到了以下解决方案:

android:layout_centerHorizontal="true"

这对我不起作用(参见第三个按钮)。下面是 RelativeLayout 中三个按钮的完整示例代码,其中中间的按钮应该居中(按钮所在的水平和垂直方向),另外两个按钮应该对称放置在屏幕上,水平居中。然而,他们不是,使用我多次找到的建议解决方案。

那么我想念什么?

完整代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/checkscreen"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.impyiablue.checkpoint.CheckScreen">

    <RelativeLayout
        android:id="@+id/content"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="20dp"
        android:layout_weight="1"
        android:orientation="vertical">


        <Button
            android:id="@+id/check_cancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/check_next"
            android:textSize="20sp"
            android:padding="25dip"
            android:layout_alignParentTop="true"
            android:layout_alignLeft="@+id/check_now"
            android:layout_alignStart="@+id/check_now"
            android:layout_marginTop="50dp" />

        <Button
            android:id="@+id/check_now"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:text="@string/check_now"
            android:padding="70dip"
            android:textSize="20sp" />

        <Button
            android:id="@+id/check_redo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:text="@string/check_redo"
            android:textSize="20sp"
            android:padding="25dip"
            android:layout_alignParentBottom="true"
            android:layout_alignLeft="@+id/check_now"
            android:layout_alignStart="@+id/check_now"
            android:layout_marginBottom="50dp" />

    </RelativeLayout>


</LinearLayout>

Screenshot

最佳答案

`

<Button
            android:id="@+id/check_redo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:text="@string/check_redo"
            android:textSize="20sp"
            android:padding="25dip"
            android:layout_alignParentBottom="true"
            android:layout_marginBottom="50dp" />

` 您可以尝试使用RelativeLayout作为根布局,这将使事情更容易管理。

关于android - 如何在相对布局中水平居中按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46752662/

相关文章:

Android LinearLayout 展开

android - ListView : Selector drawables drawn in different sizes

android - 从 SD 卡播放随机 mp3 文件

android - 努力使用 MvvmCross 在 MvxImageView 中绑定(bind)本地镜像

android - OnBackPress() - 使用 ZBarScannerView 时 Activity 为空白

android - RecyclerView item layout_weight,尺寸不更新

android - 访问@android :id/list ListView from code

android - hackbook教程中的代码似乎不适用于手机

android - 使用 Intent 搜索 json 文件

用于 Spannable 的 Android 填充?