我在MDPI / HDPI / xhdpi中有相同的9-patch映像。有没有什么特殊的原因不会保存为最小的大小?当内容较大时,可伸展区域会自动缩放,例如9补丁的背景。
示例背景:
mdpi:

hdpi:

xhdpi:

发布于 2012-03-30 19:13:32
许多九个补丁都很小,通常不需要为不同的屏幕尺寸重新创建它们。
在您的示例中,背景的角没有缩放。如果你只是在所有分辨率上使用相同的角,它们在不同的分辨率上会有不同的大小。在较小的手机上,边角会显得较大,而在较大的手机上,边角会显得较小。
另一个例子是一条线。如果你有一条有特殊效果的线,你为mdpi屏幕创建了一个9补丁,这条线有两个像素高。只需在xhdpi屏幕上不缩放的情况下重用此可绘制内容,将使您的线条在此屏幕上高出两个像素。但是因为屏幕的像素更小(分辨率更高,显示尺寸相同),所以线条看起来会更细。
因此,你总是需要为每个分辨率创建一个9-Patch,或者就像@Shubhayu所说的那样,只生成高分辨率的9个补丁,并接受如果系统将它们缩小到其他分辨率,它们会变得模糊。
发布于 2012-03-30 19:00:22
您不需要在所有3个文件夹中放置不同大小的9补丁图像。只需将分辨率最高的文件放在可绘图文件夹中即可。Android会为你所有不同的密度选择它。
此外,图像的清晰度取决于图像的分辨率。你会看到高密度设备发生模糊拉伸,如果你保存最小尺寸(即分辨率最低),如果背景图像是纯色的,这将不明显。当背景有一些设计/可重复的渐变时,你会注意到不同。
编辑:自从写了这篇文章以来,我发现了更多关于9-patch的东西。9-补丁图像不会缩小。最好是放最小尺寸的图片。基于其他密度的外观,您应该为受影响的密度制作9补丁图像。下面是关于它的更多细节,
http://www.shubhayu.com/android/9-patch-image-designers-vs-developers
https://stackoverflow.com/questions/9941471
复制相似问题