4

在 iOS 上进行了一年开发后,我是一名学习 Android 的设计师/开发人员。

iOS 中的 NinePatch/9patch 被称为 resizableImageWithCapInsets。它允许开发人员采用常规 PNG 并以编程方式指定 9patch 信息 - 即 Android .9.png 文件周围 1 像素边框中的信息。

但有一个关键区别。在 Android 上,9patch 中间的位是scaled,而在 iOS 上是tiled。对于某些类型的图像,这无关紧要。但是对于任何具有纹理或图案的缩放都会破坏图像。

以编程方式指定区域还允许设计人员使用http://macrabbit.com/slicy等工具,将复杂的主 Photoshop 文件拆分为单独的图像资产;据我所知,目前还没有适用于 Android 9 补丁的等效工具。(SDK 附带的 draw9patch 工具不起作用,因为每次从 Photoshop 主文件导出时都必须重复使用它。)

我猜一个人可以创建一个模仿 iOS 行为的 Drawable 子类:你将一个普通的旧 PNG 和一组 9patch 尺寸传递给它,它会适当地绘制自己,平铺中间部分。你甚至可以提供一个在平铺和拉伸之间切换的开关(我希望 iOS 能做到)。

作为一个新手,我需要一些时间来弄清楚如何做到这一点。类似的东西是否已经作为开源组件或样本存在?

谢谢!

4

0 回答 0