我的android xml布局文件保持渲染期间引发的异常:RelativeLayout中不存在循环依赖关系 Window>中记录了异常详细信息。显示视图>错误日志 我弄清楚为什么?这是我的代码
<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"
tools:context="com.amandhapola.ribbit.LoginActivity"
android:background="@drawable/background_fill" >
<ImageView
android:id="@+id/backgroundImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:scaleType="fitStart"
android:src="@drawable/background"
android:contentDescription="@string/content_desc_background"/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_above="@+id/subtitle"
android:layout_centerHorizontal="true"
android:textSize="60sp"
android:layout_marginTop="32dp"
android:textColor="@android:color/white"
android:textStyle="bold"
android:text="@string/app_name" />
<TextView
android:id="@+id/subtitle"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/title"
android:layout_above="@+id/usernameField"
android:textSize="13sp"
android:textColor="@android:color/white"
android:textStyle="bold"
android:text="@string/subtitle"/>
<EditText
android:id="@+id/usernameField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/passwordField"
android:layout_below="@+id/subtitle"
android:layout_alignParentLeft="true"
android:ems="10"
android:hint="@string/username_hint" />
<EditText
android:id="@+id/passwordField"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/usernameField"
android:layout_above="@+id/loginButton"
android:layout_alignParentLeft="true"
android:layout_marginBottom="43dp"
android:ems="10"
android:hint="@string/password_hint"
android:inputType="textPassword" />
<Button
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/passwordField"
android:layout_above="@+id/signUpText"
android:layout_alignParentLeft="true"
android:text="@string/login_button_label" />
<TextView
android:id="@+id/signUpText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_centerHorizontal="true"
android:textColor="@android:color/white"
android:layout_below="@+id/loginButton"
android:text="@string/sign_up_text" />
</RelativeLayout>
答案 0 :(得分:1)
您已将自己的标题定义为字幕上方,并且字幕位于标题之下:
<TextView android:id="@+id/title" ... android:layout_above="@+id/subtitle" ... />
<TextView android:id="@+id/subtitle" ... android:layout_below="@+id/title" ... />
这是一个循环引用:要定位title
,Android首先需要确定subtitle
的位置。但是,要定位subtitle
,首先需要确定title
的位置。
您需要确保Android可以定位您的元素,而无需进入 depencendy循环。例如,将标题定位在顶部,然后将字幕定位在标题下面就可以了。