Android:9 补丁图像 vs 形状 vs 多图标

标签 android user-interface

我们公司的一些人制定了一些关于 Web、Android 和 iOS UI 设计的规则。他们为每个平台提供了一堆图标。但是当我查看 Android 平台图标时,他们使用多图标来创建 1 个图标。例如,按钮背景,他们使用这 3 个图标,1 个用于左侧,1 个用于右侧尺寸,1 个可拉伸(stretch)用于中间。

enter image description here enter image description here enter image description here

我认为这是网页通常设计按钮背景的方式。但我认为我不应该为 Android 做同样的事情(也许 iOS 也不这样做,但因为我只在短时间内使用 iOS,所以我不太确定)。通常我会为这种背景使用 Shape 或 9-patch drawable。所以在这里我有 2 个问题:

  1. 在此示例中,我应该将哪个 1 用作按钮背景。一个形状?一个 9 补丁的可绘制对象?或者像这样的多个图标?哪个最不好用?

  2. 如果我必须像这样使用多个图标,如何将多个像这样的图标放入单个背景中?

如果他们在这里做事的方式不正确,我需要一些充分的理由与他们交谈并让他们改变主意。所以任何人请帮我解决这个问题。

谢谢!

最佳答案

9-patch应该是首选,其次才是形状。不要使用 3 图标。

如果进一步的设计发生变化,9-patch 更易于使用和更改。使用shape时,需要定义相应的XML。如果下个版本,背景颜色改变,需要修改XML,但9-patch只需要替换资源文件即可。

另一个好处是,9-patch 可以在 UI 端创建,如果资源创建正确,程序员不必重新操作它。但是对于形状,程序员需要知道 RGB 颜色,并且需要编写 XML。

3 图标不适用于此处。首先,你有其他更好的选择。其次,3 个图标意味着您需要为每个图标创建 3 个 View 。第三,当用户点击按钮时,按钮应该有不同的效果,其他两个选项你可以简单地定义选择器,但是有 3 个图标,没有优雅的解决方案。

关于Android:9 补丁图像 vs 形状 vs 多图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24877778/

相关文章:

java - 按下按钮时绘制字符串、矩形或椭圆形的 GUI

user-interface - JavaFX:禁用 ToggleGroup 中的所有按钮

android - Dexguard 7.3.01 与 gradle 2.3.0 不兼容

android - 在 Android Studio 中哪里可以找到自定义模板路径

user-interface - VR 中的 OnGUI 不显示

java - JList:如何获取 LineBorder "between"单元格?

java - 在 Java 中单步执行 GUI

android - 推送通知kotlin

android - Eclipse - 运行构建器时出错 'Android Package Builder'

Android Intents 和 Scala