android - 9patch PNG有什么用?

标签 android

我读了article (Android Developers)在 Android 中的 9patch PNG 上。但我不明白它的真正用途是什么?如果我使用渐变图像,那么它的行为将与 9Patch PNG 相同。

我和我的图形设计师讨论过,他告诉我这与 CSS 中使用的图像重复相同。是这样吗?

-谢谢

最佳答案

不,这不一样。

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

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

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

关于android - 9patch PNG有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4353076/

相关文章:

android - Kotlin 中的枚举注解类型

Android:查看包含 ScrollView 的 fragment 的寻呼机,如何在 OnPause 中将 ScrollView 重置为屏幕顶部

java - Android:BroadcastReceiver:UNINSTALL_PACKAGE Intent

java - SQLite random() 行,但其中 1 行必须具有特定值?

java - 元素也是类中的路径名

java - 创建一个没有ActionBar的后退按钮

android - 更改按钮的启用颜色而不更改禁用颜色

java - 如何生成随机字母数字字符串并将其插入同一( Activity )页面上的组的登录/注册框

java - Android 上的 Guava-Splitter 需要 1.7 秒来初始化?

android - 如何模拟后退按钮单击