当前位置: 首页 > 知识库问答 >
问题:

无法在Android中使用srcCompat for ImageViews

何宏博
2023-03-14

我正在使用设计支持库23.2。我已经在我的构建中添加了这些行。gradle作为我的gradle插件是1.5版

defaultConfig {
        applicationId "com.abc.xyz"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        generatedDensities = []
    } 

      aaptOptions {  
        additionalParameters "--no-version-vectors"  
      }  
     }

正如这里所规定的

但是我不能在imageview中使用srccompt属性。

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:srcCompat="@drawable/wallpaper"/>

其中@drawable/wallper是一个矢量资源文件

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
<path
    android:fillColor="#FF000000"
    android:pathData="M4,4h7V2H4c-1.1,0 -2,0.9 -2,2v7h2V4zm6,9l-4,5h12l-3,-4 -2.03,2.71L10,13zm7,-4.5c0,-0.83 -0.67,-1.5 -1.5,-1.5S14,7.67 14,8.5s0.67,1.5 1.5,1.5S17,9.33 17,8.5zM20,2h-7v2h7v7h2V4c0,-1.1 -0.9,-2 -2,-2zm0,18h-7v2h7c1.1,0 2,-0.9 2,-2v-7h-2v7zM4,13H2v7c0,1.1 0.9,2 2,2h7v-2H4v-7z"/>

上面写着

错误:(14)在包“android”中找不到属性“srccomat”的资源标识符

我的Gradle版本是1.5。如何使用srcCompat?

共有3个答案

壤驷阳冰
2023-03-14

第一个(在build.gradle中)

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

第二

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/ic_traffic_black_24dp"
    tools:ignore="MissingPrefix" />

第三

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

开始了。

司寇旺
2023-03-14

把许多答案合并成一个答案:

<?xml version="1.0" encoding="utf-8"?>
<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:background="@color/primary">


    <android.support.v7.widget.AppCompatImageView
        android:layout_width="300dp"
        android:layout_height="100dp"
        android:id="@+id/logoImageView"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        app:srcCompat="@drawable/my_logo_vector"
        android:tint="@color/white"
        />

</RelativeLayout>

这对我有用。没有绒线错误。使用AppCompatImageView

於子晋
2023-03-14

不要

android:srcCompat="@drawable/wallpaper"

app:srcCompat="@drawable/wallpaper"

实际上,srccompt属性是在AppCompat库中定义的。

重要的是,您需要为此添加适当的命名空间。

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

重要的

你得到的似乎只是一个可以忽略的线头错误。我试过,也有同样的错误,但它工作正常。

您可以使用工具:ignore=“MissingPrefix”暂时避免看到此错误。

 类似资料:
  • 我尝试使用此视频安装jsoup 接着,一堆问题出现了,一个接着一个: 在修复了所有这些之后,我尝试运行我的测试应用程序(这是我的主要活动) 我的Logcat是这个 这是我的建筑.Gradle 应用程序在文档行崩溃。问题是什么?(wifi正在工作)

  • 问题内容: 我使用的是android 2.3.3,我制作了一个运行良好的rss阅读器,然后将该简单的rss阅读器的代码集成到了另一个活动中,只是仔细地粘贴粘贴,没有错误。 问题是,当我在模拟器上运行应用程序时,它给我错误连接异常。然后,我通过在尝试块中的每一行之后放入吐司来找出问题所在。 我已在android清单中添加了权限,而我的logcat给出了的警告。 这里是创建对象的代码: 问题答案: 它

  • 问题内容: 在我的Android应用程序中,我无法使用JDK 1.6中的 String.isEmpty() 函数。Android 2.1 lib在java.lang.String类中没有此功能 我尝试将JRE系统库输入到我的项目中,因为它具有此功能,但是没有效果。 如何解决此问题并允许我的应用程序使用此功能? 问题答案: 如何解决此问题并允许我的应用程序使用此功能? 你不能 使用代替。它一直向下兼

  • 我正在学习一个教程,即http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/ 但我无法获取令牌,我的服务类也无法工作。请帮忙

  • 我刚在Ubuntu12.04中设置了Android开发环境。我制作了一个Android2.3.3版的AVD并在上面运行了我的应用程序。但我不能使用我的电脑键盘或键盘右侧给它。这是什么原因呢? 我的ADT版本是20.0。我早些时候在Windows上开发,它运行良好。