在包''中找到属性'srcCompat'的资源标识符learnapp.android.example.com.learnapp'

问题描述:

我得到Error:(26) No resource identifier found for attribute 'srcCompat' in package 'learnapp.android.example.com.learnapp' 当我尝试运行我的app.I刚刚开始学习Android today.I已添加新的活动和力量改变任何XML文件中的任何东西。在包''中找到属性'srcCompat'的资源标识符learnapp.android.example.com.learnapp'

这是确切的错误:

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

+0

你可以尝试设置可绘制在你的代码'fab.setImageResource(R.drawable发生的。 ic_dialog_email);' – Harry

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

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

不,它的工作。它仍然给我同样的错误! – user3425344

我只是改变

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

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

我看到了答案here

+0

谢谢这就是工作 – user3766614

+4

不要这样做。它改变了布局行为。如果您尝试使用ScrollingActivity,它会变得很糟糕 – Zinc

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

我更新来自:

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' 

(这些是最新的版本,在我写这个的时刻)

和错误消失。

+0

这最终会为我解决它。谢谢! – Tander

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

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

但真正的问题是为什么Android Studio使用“app:srcCompat”?我厌倦了不得不改变这一点。 – eric

+6

因为app:srcCompat是在AppCompat库23.2中添加的,所以如果你有23.1,那就不存在了。 你可以使用android:src,但是app:srcCompat支持矢量图像,所以它更好 – Zinc

您也可以尝试的

android:src = "@drawable/ic_dialog_email" 

代替

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

我有同样的错误,这为我工作。

+0

不好,因为我们不能使用'android:src'前棒棒糖中的矢量drawables – rpattabi

我使用srcCompat API如下。

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

More info

它看起来像你刚刚创建了一个新的项目。因此,我更新了我的构建支持工具,然后从头开始创建一个新项目。

更新:Android的工作室 - >首选项...->外观&动作 - >系统设置 - >安卓SDK-> Android SDK中内建工具 - >勾选更新

我得到了类似的问题。

我的老师尝试将API 22更新到API 25,这是工作。也许你可以尝试一样。

,如果你开始更新的Android Studio和取消了更新中途 完成更新过程,一切都应该恢复正常