无法在KITKAT上设置矢量绘图

时间:2016-06-28 09:42:18

标签: android

我正在使用矢量drawable,它会在API 19上引发异常

android.content.res.Resources$NotFoundException: Resource ID 

在我的gradle中,我在vectorDrawables.useSupportLibrary = true中添加了defaultConfig

这是与此版本无关的代码:

    ImageView imageView = (ImageView) view.findViewById(com.yarolegovich.lovelydialog.R.id.ld_icon);
imageView.setImageResource(R.drawable.ic_my_location_black_24dp);

4 个答案:

答案 0 :(得分:1)

确保您拥有gradle版本2.0或更高版本  如果没有,那么将此以及当前的gradle配置添加到build.gradle

 android {  
   defaultConfig {  
     generatedDensities = []  
  }  

  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 } 

并在app:srcCompat="@drawable/ic_add"

中使用imageView

答案 1 :(得分:0)

尝试:

yourImageView.setImageDrawable(ResourcesCompat.getDrawable(getActivity().getResources(), R.drawable.your_vector_drawable_here, null));

答案 2 :(得分:0)

使用 defaultConfig {          ..         vectorDrawables.useSupportLibrary = true     }

在build.gradle文件(app模块)和

应用程式:srcCompat =" @可绘制/ vector_check"

在ImageView中

答案 3 :(得分:0)

VectorDrawables

支持库23.2或更高版本在运行Android 5.0(API级别21)或更低版本的设备上提供对Vector Drawables和Animated Vector Drawables的完全支持。但遗憾的是,矢量drawable只能与Imageview同时使用android:srcCompact Api 21不是像按钮背景或任何其他方式一样,