2

我在 Android 中阅读了有关 9patch PNG 的文章(Android 开发人员) 。但我没有得到它的真正用途是什么?如果我使用渐变图像,那么它的行为将与 9Patch PNG 相同。

我与我的图形设计师进行了讨论,他告诉我它与 CSS 中使用的 Image Repeat 相同。是这样吗 ?

-谢谢

4

2 回答 2

5

不,不一样。

想一想您想要焕然一新的按钮。使用 9patch 方式,您只需在图像编辑程序(如 Photoshop)中设计按钮的设计,然后将其保存为 png 文件。在此之后,您使用 Android SDK 的 9patch png 工具打开它并定义可拉伸和可扩展的区域。这样做,您可以将新按钮设计应用于任何尺寸的按钮,因为设计可以缩放到任何尺寸,而无需缩放角落和边框,因为它们被标记为不可拉伸。如果您将使用普通 png,则整个 png 将被缩放到按钮的大小,这可能看起来非常难看。

当然,您必须注意具有渐变背景的设计,因为它们可能只能在方向(水平或垂直)上拉伸,具体取决于渐变的类型(例如线性)。

即使 CSS 图像重复属性与 9patch png 非常相似,因为后者更易于使用,因为您只需定义并将其应用于按钮。使用 CSS,您将不得不更多地考虑如何使按钮可扩展。考虑一个带圆角的按钮,你会如何使用 CSS 来实现?单独的 CSS 图像重复属性就可以完成这项工作,您将如何定义角落始终保持不变,不应缩放或重复。

于 2010-12-04T13:00:21.200 回答
2

我不明白与渐变图像的关系。

9-patch 图像是一种在您真的不知道实际尺寸是多少的情况下使用唯一图像的便捷方式(而不是每个可以想象的情况都有不同的资源图像)。这篇文章有一个使用相同的 9-patch 图像用于不同大小的按钮的示例(由于不同的文本大小)。所以,它看起来相当简单,不是吗?是的,当然,您可以使用 Gradient Image 创建 9-patch 图像。

于 2010-12-04T12:51:19.283 回答