You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将EditText置于RelativeLayout中央?布局重叠问题求解

解决RelativeLayout中子元素重叠与居中问题

你遇到的问题核心是RelativeLayout不支持android:layout_gravity属性,这个属性是为LinearLayout、FrameLayout这类布局设计的,所以你给EditText加的layout_gravity完全不起作用,导致EditText默认和TextView一样显示在左上角,自然就重叠了。

针对你的需求,有两种简单的解决方式:

方式一:继续使用RelativeLayout(推荐)

利用RelativeLayout自带的布局定位属性,给EditText添加android:layout_centerInParent="true",就能让它居中显示,同时TextView默认会留在左上角,不会重叠。修改后的代码如下:

<RelativeLayout
    android:id="@+id/info_in_my"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/verInfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Version 5"
        android:textSize="20dp" />

    <EditText
        android:id="@+id/editTextNumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:textSize="20dp"
        android:gravity="center_horizontal"
        android:layout_centerInParent="true" />
</RelativeLayout>

方式二:切换为LinearLayout作为根布局

如果更习惯用layout_gravity,可以把根布局换成LinearLayout,设置垂直方向并让高度填满父容器,然后给EditText设置android:layout_gravity="center",同时通过空白占位布局确保EditText居中:

<LinearLayout
    android:id="@+id/info_in_my"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/verInfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Version 5"
        android:textSize="20dp" />

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <EditText
        android:id="@+id/editTextNumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:textSize="20dp"
        android:gravity="center_horizontal"
        android:layout_gravity="center_horizontal" />

    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />
</LinearLayout>

内容的提问来源于stack exchange,提问作者vico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:13:30