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

Android开发中TextView未在GUI上显示的问题(Java环境)

解决EditText覆盖TextView的布局问题

问题根源

  1. RelativeLayout绘制顺序特性:后声明的控件会绘制在先声明的控件上方,你的EditText和Button都在TextView之后,自然会把TextView遮挡。
  2. TextView高度设置错误:fill_parent(建议替换为match_parent)让TextView占满整个父布局高度,即便不被覆盖也会挤占其他控件的显示空间。
  3. Button布局属性冲突:layout_centerInParent与layout_marginTop同时使用,导致Button位置混乱,进一步加剧布局重叠。

修正后的完整布局代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp">

    <TextView
        android:id="@+id/txt_hello"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="25sp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:text="Hello Chenura"/>

    <EditText
        android:id="@+id/simpleEditText"
        android:maxLines="1"
        android:lines="1"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_below="@id/txt_hello"
        android:layout_marginTop="20dp"/>

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/simpleEditText"
        android:layout_marginTop="20dp"
        android:background="#0099FF"
        android:text="Click to say 'welcome'"/>
</RelativeLayout>

核心调整说明

  • 将TextView的高度从fill_parent改为wrap_content,让它仅占用自身文本所需空间。
  • 利用RelativeLayout的layout_below属性,指定EditText在TextView下方、Button在EditText下方,实现垂直有序排列,彻底解决重叠问题。
  • 移除Button的layout_centerInParent属性,避免与layout_marginTop冲突,通过layout_below和layout_marginTop控制位置与间距。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:37:31