gpt4 book ai didi

java - 为什么我们需要 9-patch?

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:49 25 4
gpt4 key购买 nike

我的问题如标题所说:为什么我们需要 9-patch 图像?它们真的那么重要吗?其实,他们到底在做什么?我不清楚 9-patch 图像的概念。

我知道 9 补丁图像是可缩放的。假设我有一些非常适合我的 ldpi 设备的图像按钮。使用 Draw 9-patch 工具(android SDK 的一部分),我可以标记可缩放区域,并且此图像将很好地适合 hdpi 甚至 xhdpi 设备。边缘会很光滑。

但这真的是很好的做法还是只是一种选择? 我应该为 ldpi、mdpi、hdpi 和 xhdpi 设备创建每个图像,还是我可以只在一个图像上使用 Android SDK“绘制 9 补丁”并让 Android 处理各种设备?

我不是那么关心边缘,而是图片的实际内容。内容也可以扩展吗?

最佳答案

内容是可缩放的,在典型用法中,边缘不会被缩放。

它们通常用于按钮背景或其他屏幕装饰,其中缩放的内容可以无限缩放而不会失去分辨率

理想情况下,它们另外在适当的情况下用于依赖于密度的资源,这样资源的部分(您没有明确声明是可扩展的)就不会被放大,随后像素化。

考虑一下 Android 上 Kindle 应用程序的启动画面,其中有一个男孩靠在树上读书的剪影。在简化版本中,地面可以无限​​地水平缩放,但如果男孩被缩放,他就会出现倾斜。因此,您可以使用九面片并指定可以缩放的部分以及缩放方向。

但这还不够 - 如果您只包含低分辨率资源,如果设备显示密度更高,资源最初仍会按比例放大。在这种情况下,男孩看起来可能会因放大而变得模糊,这是一个更高分辨率的资源可以帮助防止像素化的例子。

你表达问题的方式(对我来说)表明你在问 9 补丁图像是否可以替换所有可绘制资源,例如图标或带有图片的资源,答案是否定的。它们仅用于缩放具有单一颜色 block 的资源部分(即不能像素化的部分)。

--

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

关于java - 为什么我们需要 9-patch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16521594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com