android - 支持库 VectorDrawable Resources$NotFoundException

标签 android android-support-library androiddesignsupport android-vectordrawable

我正在使用设计支持库版本 23.4.0。我已启用 gradle 标志:

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

我正在使用构建工具版本 23.0.2,但仍然在 KitKat 或更低版本上获得 Resources$NotFoundException

当我使用 android:drawableLeftimageView.setImageResource(R.drawable.drawable_image) 时发生。

是的,我把它放在我使用可绘制对象的每一个 Activity 中

static {
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}

这是支持库的错误吗?

最佳答案

使用 support library 23.4.0,我花了 3 件不同的事情来让它工作:

  1. 将此添加到 build.gradle

    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
    
  2. 将以下内容添加到 Application 类的 onCreate

    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    

    (来自此链接的引用 - “https://stackoverflow.com/a/45582033/10752962”)

    API小于21中,在setContentView()之前使用这一行;

  3. 对于您设置矢量可绘制替换的所有 XML View

    android:src
    

    app:srcCompat
    

    并在代码中替换:

    imageView.setImageResource(...);
    

    imageView.setImageDrawable(...);
    

关于android - 支持库 VectorDrawable Resources$NotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37615470/

相关文章:

android - 如何使用Android Studio重命名程序包?

java - Activity 内的 Android 上下文可以是静态的吗?

android - 如何强制 CollapsingToolbarLayour 只有两种状态(展开和折叠)?

android - 在 EditText 下方显示 Helper 文本以及 Hint

android - NestedScrollView 滚动滞后,直到 CollapsingToolbarLayout View 不折叠

android - 通过结构测试版更新应用程序说 "Do you want to uninstall this app?"

android - 如何覆盖 Android WebView 的 DNS 解析?

android - ActionBarActivity 和 AppCompatActivity 之间的区别

android - 仅在 support.v7.Toolbar 下显示 NavDrawer Scrim

android - 在 android 默认选项卡式 Activity 中, fragment 不适合屏幕,因为高度和 actionBar 是可移动的