-3

我正在为我的应用程序使用 9patch 图像。我将它们保存在可绘制文件夹中,而不是在 hdpi、xdpi、.... 但是当我在不同密度的设备中检查图像时,它看起来很模糊。

我应该为所有 htpi、ldpi、mdpi、xdpi 创建 9patch 图像吗?如果我为我的应用程序使用许多图像,我认为应用程序的大小会增加。所以使用许多图像不是问题吗?
谢谢

4

3 回答 3

1

根据android developer docs,您需要指定不同的图像

如果您需要准确控制应用程序在各种屏幕配置上的外观,请在配置特定的资源目录中调整布局和位图可绘制对象。

例如,考虑要在中高密度屏幕上显示的图标。只需创建两种不同尺寸的图标(例如100x100 用于中密度和150x150 用于高密度),然后使用适当的限定符将这两种变体放在适当的目录中:

res/drawable-mdpi/icon.png   //for medium-density screens
res/drawable-hdpi/icon.png   //for high-density screens
于 2013-05-01T07:14:32.333 回答
1

这取决于

如果您只是想防止图像模糊,请将其移动到drawable-nodpi文件夹(如果不存在则创建它),但这会导致您的 9 个补丁图像中未标记为可拉伸的部分完全正确与图像中的像素大小相同(因此在不同的像素密度上看起来不同)。

如果您的所有区域(例如角半径)上应该看起来相似,那么是的,创建多重 9patch 图像并将它们放在相应的文件夹中。


仅供参考:如果 9patch 图像不在 drawable-nodpi 文件夹中,则会在拉伸到容器大小之前缩放到图像密度,从而导致 9patch 图像在更高 dpi 设备上变得模糊。

示例:您有一个具有 320dpi 设备的设备和 mdpi 文件夹 (160dpi) 中具有 2px 角半径的 10*10px 9patch 图像,您希望将其应用于 100*40px 按钮。在拉伸 9patch 指示区域以适应 100*40px 按钮之前,Android 会将图像缩放到 20*20px(包括现在的半径为 4px,但看起来模糊)。

希望这可以解决问题。

于 2013-05-01T08:06:03.427 回答
0

不,一张图片适用于所有尺寸就足够了。9 补丁图像可拉伸到您想要的任何尺寸。那是9个补丁图像的唯一用途。但是您不能将所有图像都制作为九个补丁图像。独特的图像,如线条、边框、普通图像等。为什么是因为你只提取了一些点的图像。因此,如果您拉伸图像取决于某些点,图像应该看起来与小图像中的图像相同。

有关更多详细信息,请参阅此处

我希望我解释正确。

于 2013-05-01T07:34:42.027 回答