是否需要使用不同的可绘制文件夹版本?

Is there any need to use different drawable folder version?

我有一个应用程序。它的 minSdkVersion 23.

开始时,我将一些可绘制项目放在 drawable-v24 中。一切顺利,直到我在 sdk 版本 23(Android 版本 6)上测试我的应用程序。它通过给出错误 Resources Not found 使我的应用程序崩溃。所以我将我的可绘制项目从 v24 移动到普通可绘制文件夹。应用程序在 Android 版本 6 上运行良好。它在 android 版本 8.1 和 10 上仍然 运行 运行良好。

所以我的问题是

drawable-v24 文件夹的重要性。即使 v24 文件夹中没有项目,我的应用程序也能正常工作。我在网上看到,他们说不同的可绘制文件夹适用于不同的屏幕密度。

换句话说问题可以是

可以将我所有的可绘制项目放在简单的可绘制文件夹中吗?

是的,将所有可绘制项目放在可绘制文件夹中即可。

您可以使用这些版本化文件夹(例如 drawable-v24)来存储不同 API 版本的不同可绘制项目。但是您必须在 simple drawable 文件夹中有一个同名的 drawable 项目,因此当您的应用程序 运行 在具有较低 API 的设备上时,您不会收到“未找到资源”错误等级.

-v24 是一个后缀,表示 sdk_int >= 24 它没有什么特别之处,但是使用这个后缀的资源文件夹,您可以在不同的设备属性上覆盖您的资源。一些最常用的例子是 显示器的像素密度(例如 -hdpi、-xhdpi) 旋转(-风景,-肖像) 语言环境(-uk、-es、..) Api 级别 (-v21, -v24 ...)

我猜你不应该将你的可绘制对象放入 drawable-v24 中,除非这些可绘制对象包含一些需要 api 级别 24+

的属性