如果我只提供一个可绘制文件夹会怎样?我是否必须提供 4 种不同类型的图像,否则我的应用程序会崩溃?
我知道不同的屏幕有不同的文件夹。如果我为高分辨率屏幕提供低分辨率图像,会发生什么?只是屏幕上的图像不好?
如果我只提供一个可绘制文件夹会怎样?我是否必须提供 4 种不同类型的图像,否则我的应用程序会崩溃?
我知道不同的屏幕有不同的文件夹。如果我为高分辨率屏幕提供低分辨率图像,会发生什么?只是屏幕上的图像不好?
如果您将所有可绘制对象放在res/drawable
文件夹中,则不会发生任何严重的事情。但是,正如您已经提到的,取决于设备屏幕的分辨率,结果可能是好的或可怕的(或介于两者之间)。
因此,当您仍在编写应用程序时,这是一个合适的选择(以节省一些时间),但是当您将应用程序发布给公众(并允许它在多种设备类型上运行)时,您确实应该为所有人提供 drawable各种(支持的)分辨率!
你可以通过用“drawable”命名你的文件夹来做到这一点。但我不推荐这样做,因为:
如果有问题的图像都是 9-patch 图像,它们会按比例放大/缩小就好了。如果不是,它们看起来好坏取决于您在哪个文件夹中拥有可绘制对象以及应用程序当前正在运行的设备。
例如,如果您将所有可绘制对象放在 drawable-mdpi 文件夹中并在受支持的设备上使用该应用程序,它们可能看起来不错。当 dpi 变为更高的hdpi或xhdpi设备时,它们几乎总是看起来很糟糕(像素化)。
根据您正在处理的图像类型,尝试使用尽可能多的 9-patch 图像,并在您可以使用的任何地方使用。
话虽这么说,你有可绘制的变体是有原因的。而且我不确定仅使用标识符是否是一种好习惯,特别是考虑到现在大多数开发人员也在为平板电脑构建。
我想每个人都是他自己的......
阅读有关NinePatch和Draw 9-patch 工具的更多信息。