我正在使用设计支持库版本 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);
}

这是支持库的错误吗?

最佳答案

使用支持库23.4.0 可以使它正常工作需要花费3件事:

  • 将此添加到build.gradle
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
    
  • 将以下内容添加到 on创建Application类的
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    

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

    API中(少于21个),请在setContentView()之前使用此行;
  • 对于要在其中设置矢量可绘制替换的所有XML View
    android:src
    


    app:srcCompat
    

    并在代码中替换为:
    imageView.setImageResource(...);
    


    imageView.setImageDrawable(...);
    
  • 10-08 03:07