无法在KITKAT上设置矢量图形。

3
我正在使用矢量图,但在API 19上会导致异常。
android.content.res.Resources$NotFoundException: Resource ID 

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

这是不适用于此版本的代码:

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

1

可缩放矢量图形

支持库23.2或更高版本在运行Android 5.0(API级别21)或更低版本的设备上完全支持可缩放矢量图形和动画矢量图形。但不幸的是,矢量图形只能与ImageView一起使用,而且在Api 21以下仅限于android:srcCompact,不能像按钮背景或其他任何内容那样使用。


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"  
  }  
 } 

在你的imageView中使用app:srcCompat="@drawable/ic_add"


0

在 build.gradle 文件 (app 模块) 中使用 defaultConfig { .. vectorDrawables.useSupportLibrary = true }

在 ImageView 中使用 app:srcCompat="@drawable/vector_check"


0

尝试使用:

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

你的 com.android.tools.build:gradle 版本是多少? - Borislav Kamenov
com.android.tools.build:gradle:2.1.2 @Borislav Kamenov - Maxim Toyberman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接