找不到属性' srcCompat'在包' learnapp.android.example.com.learnapp'

时间:2016-07-02 15:50:11

标签: android android-activity

我得到了Error:(26) No resource identifier found for attribute 'srcCompat' in package 'learnapp.android.example.com.learnapp' 当我尝试运行我的应用程序时。我刚刚开始学习安卓。我在任何xml文件中添加了一个新活动和dint更改任何内容。

这是确切的错误:

Documents/MyProjects/LearnApp/app/src/main/res/layout/activity_display_message.xml
Error:(26) No resource identifier found for attribute 'srcCompat' in package 'learnapp.android.example.com.learnapp'

这是我的activity_display_message.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:fitsSystemWindows="true"
    tools:context="learnapp.android.example.com.learnapp.DisplayMessageActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_display_message" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|end"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@android:drawable/ic_dialog_email" />

</LinearLayout>

我已经阅读了类似的问题并看到了该行

xmlns:app="http://schemas.android.com/apk/res-auto"

app:srcCompat="@android:drawable/ic_dialog_email" />

在他们的情况下是错误的,这不是我的情况。

重要的是,此活动的父活动是MainActivity.java

9 个答案:

答案 0 :(得分:36)

我刚刚改变了

xmlns:app="http://schemas.android.com/apk/res-auto" 

xmlns:app="http://schemas.android.com/apk/lib/my_package_name"

我看到了答案here

答案 1 :(得分:13)

更改app:srcCompat="@android:drawable/ic_dialog_email"

android:src="@android:drawable/ic_dialog_email"

答案 2 :(得分:11)

当您拥有过时的支持库版本时也会发生这种情况。

我更新了:

compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'

为:

compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'

(那是我写这篇文章的最新版本)

并且错误消失了。

答案 3 :(得分:11)

您也可以尝试

android:src = "@drawable/ic_dialog_email"

而不是

app:srcCompat="@android:drawable/ic_dialog_email"

我有同样的错误,这对我有用。

答案 4 :(得分:2)

将此vectorDrawables.useSupportLibrary = true添加到您的应用级build.gradle

defaultConfig {
    ...
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    vectorDrawables.useSupportLibrary = true
}

答案 5 :(得分:0)

看起来你刚刚创建了一个新项目。所以修复它的原因是更新我的构建支持工具,然后从头开始创建一个新项目。

更新:Android Studio-&gt;偏好设置...-&gt;外观&amp;行为 - &gt;系统设置 - &gt; Android SDK-&gt; Android SDK构建工具 - &gt;选中要更新的框

答案 6 :(得分:0)

我遇到了类似的问题。

我的讲师尝试将API 22更新到API 25,并且它正常工作。 也许你可以尝试相同的。

答案 7 :(得分:0)

如果您开始更新Android Studio并中途取消更新,则会发生错误 完成更新过程,一切都应恢复正常

答案 8 :(得分:-1)

我正在使用srcCompat api,如下所示。

<android.support.v7.widget.AppCompatImageView
      android:id="@+id/dashboard"
      android:layout_width="60dp"
      android:layout_height="60dp"
      srcCompat="@drawable/dash">

More info