繁体   English   中英

如何在Android中使用9种补丁图像以不同的2密度(如mdpi,ldpi,hdpi)?

[英]How to use 9 patch images in android for different-2 densities(like mdpi,ldpi,hdpi).?

我正在创建一个想要多屏支持的android应用程序。为此,我使用了9个补丁图像。

但是我的问题是,使用9个斑块图像是否足以满足不同2密度设备的需要,或者我需要针对不同的密度(例如mdpi,ldpi,hdpi)创建不同2个9个斑块图像。

提前致谢

我最近发现自己处在同样的情况下,所以让我投身并扩展已经说过的话...

是的,9色块图像可以缩放,这就是它们存在的目的。 但是,如果您为所有屏幕密度都使用9色块图像,那实际上取决于图像。 9色块图像更常用,例如按钮。 您可以在应用程序中使用不同大小的按钮,并且无论您如何调整按钮大小(只要正确创建了9个补丁的图像),一个9个补丁的图像都将有助于处理它们。

但是,假设您的按钮设计在hdpi版本中确实有一些圆角。 创建9补丁图像时不会弄乱角落,但是在ldpi版本中查看它时,您会发现角落对于那种低分辨率来说太大了。 在这种情况下,您需要一个圆角较少的9色块图像,在该分辨率下看起来更好。

因此,最终的答案是,这实际上取决于您的图像。 如果您可以创建一个9补丁图像,在所有密度下看起来都不错,那就好用了,因为您只需要一个图像即可处理所有密度。 但是,如果由于拐角,渐变或其他原因导致效果不好,则每个屏幕密度都需要一张9色块的图像。

希望现在更加清楚。

来自文档: 九个补丁

NinePatchDrawable图形是可拉伸的位图图像,Android会自动调整其大小以适应将其放置为背景的View的内容。 NinePatch的一个示例用法是标准Android按钮使用的背景-按钮必须拉伸以容纳各种长度的字符串。 NinePatch可绘制对象是标准的PNG图像,其中包括一个额外的1像素宽的边框。 它必须以扩展名.9.png保存,并保存到项目的res / drawable /目录中。

答案是不。 您的九个补丁将在不同的屏幕尺寸之间缩放

简短的回答是。 检查一下:

默认情况下,Android会缩放位图可绘制对象( .png.jpg.gif文件)和Nine-Patch可绘制对象( .9.png文件),以便它们在每个设备上以适当的物理尺寸呈现。 例如,如果您的应用程序仅为基线,中等屏幕密度(mdpi)提供位图可绘制对象,则系统在高密度屏幕上会按比例放大它们,而在低密度屏幕上会按比例缩小它们。 这种缩放可能会在位图中导致伪影。 为了确保位图看起来最好,您应包括不同分辨率的替代版本,以适应不同的屏幕密度。

来自Android开发者官方文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM