Android Studio 小部件在相对布局中消失了

问题描述

为什么相对布局会使我的小部件消失。每当我在代码添加编辑文本时,一切都会消失。

 <RelativeLayout
    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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".userconfirmation">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="120dp"
        android:layout_height="150dp"
        android:layout_marginTop="40dp"
        app:srcCompat="@drawable/ic_house"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="70dp"
        android:layout_centerInParent="true"
        android:layout_above="@+id/editTextemail"
        android:text="Login"
        android:textColor="@color/black"
        android:textSize="30sp" />


    <EditText
        android:id="@+id/editTextemail"
        android:layout_width="250dp"
        android:layout_height="40dp"
        android:ems="10"
        android:hint="Email"
        android:inputType="textPersonName"
        android:textSize="16dp"
        android:background="@color/light_grey"
        android:layout_marginBottom="35dp"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true" />



</RelativeLayout>

当我添加这个小部件时,在相对布局中,它们突然消失了。是什么原因?

解决方法

只需从 TextView 属性中删除以下行

android:layout_above="@+id/editTextemail"
,

确保使用从 topbottom 的 ID,反之亦然。

改变这个

android:layout_above="@+id/editTextemail"

android:layout_below="@+id/imageView"