XML - android:layout_above错误

时间:2016-06-24 14:01:44

标签: android xml android-layout android-studio

我在Android Studio中构建应用程序。

我已经构建了一个简单的启动画面来启动它,同时我的MainActivity正在加载并为我的应用程序提供更专业的外观。这是我的XML代码:

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

    <ImageView
        android:id="@+id/splashscreen"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="centerInside"
        android:src="@drawable/icon_verde_mela"/>

    <TextView
        android:id="@+id/developerTextView"
        android:layout_width="match_parent"
        android:textAlignment="center"
        android:layout_height="wrap_content"
        android:text="@string/developer"
        android:layout_above="@id/designerTextView"
        android:textColor="#9E9E9E"/>

    <TextView
        android:id="@+id/designerTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAlignment="center"
        android:text="@string/designer"
        android:layout_alignBottom="@id/splashscreen"
        android:textColor="#9E9E9E"/>

</RelativeLayout>

问题是,当我尝试构建我的应用程序时,我收到以下错误,这似乎是由android:layout_above="@id/designerTextView"引起的:

找不到与给定名称匹配的资源(位于&#39; layout_above&#39;值为&#39; @ id / designerTextView&#39;)。

我无法弄清问题是什么,因为我已经为我的第二个TextView提供了正确的ID。

我很感激一些帮助。

2 个答案:

答案 0 :(得分:1)

这很容易解释。您的文字视图指的是id之前未定义的@id/designerTextView。稍后将使用下一个代码定义此id

 <TextView
        android:id="@+id/designerTextView"
 ....
 />

要修复它,请在第一个位置放置符号+,在此处引用此id并在第二个定义中将其删除:

  <TextView
        android:id="@+id/developerTextView"
        android:layout_above="@+id/designerTextView"
  .....
  />

  <TextView
        android:id="@id/designerTextView"
        android:layout_alignBottom="@id/splashscreen"
  .....
  />

在此处阅读更多信息Difference between "@id/" and "@+id/" in Android

答案 1 :(得分:0)

使用它它正在工作我测试了它。

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

    <ImageView
        android:id="@+id/splashscreen"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scaleType="centerInside"
        android:src="@mipmap/ic_launcher"/>

    <TextView
        android:id="@+id/designerTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAlignment="center"
        android:text="hai"
        android:layout_alignBottom="@id/splashscreen"
        android:textColor="#9E9E9E"/>
    <TextView
        android:id="@+id/developerTextView"
        android:layout_width="match_parent"
        android:textAlignment="center"
        android:layout_height="wrap_content"
        android:text="hello"
        android:layout_above="@id/designerTextView"
        android:textColor="#9E9E9E"/>

</RelativeLayout>