我具有以下目录结构:
Send
我遇到的问题是drawable/ic_logo.xml
drawable-v24/ic_logo.xml
的{{1}}版本没有覆盖“默认”可绘制文件夹版本,并且该应用程序在所有API版本上都显示了默认版本。
我必须使用v24
版本的原因是因为矢量包含需要ic_logo
,v24
等的渐变,这些渐变直到API 24才可用。
我的startX
是21,我正像这样从startY
调用向量:
minSdkVersion
奇怪的是,使用Android Studio预览器时,对于API <23和API 24及更高版本,徽标正确显示,但在任何仿真器或实时设备上均未显示。
答案 0 :(得分:0)
由于@PankajKantPatel,我为此实现了一个“变通方法”。
if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.M){
logo.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_logo, null));
}else{
logo.setImageDrawable(ResourcesCompat.getDrawable(getResources(), R.drawable.ic_logo_24, null));
}
我仍然觉得这是一个错误,因为它应该遵循与图像资产相同的逻辑,为此我将与Google记录一个错误。