【问题标题】:Making Complex Android XML Drawables制作复杂的 Android XML Drawables
【发布时间】:2014-08-21 16:29:52
【问题描述】:

基于 android XML 的可绘制对象有多强大?

我真的想知道是否可以仅使用 xml 形状来替换半复杂的位图资源,例如以下箭头图标。

到目前为止,除了基本形状之外,我还没有看到很多很好的例子。我知道<layer-list> 可用于组合形状,但我很难使用它们。特别是,<layer-list> 形状的相对大小和偏移似乎效果不佳。

【问题讨论】:

  • 我认为你可以使用 9-patch 来解决这个问题,不会那么痛苦
  • 是的,你可以,但是这很麻烦。但是你可以使用 SVG 文件(你需要一个第三方库,比如android-svg),而不是。或者您可以使用Unicode characters,因为根据定义,TTF 字体是矢量的。 Android 标准字体不支持所有字形,因此您可能需要使用免费的专用图标字体,例如FontAwesome

标签: android xml android-drawable xml-drawable


【解决方案1】:

正如您提到的,定位和调整形状大小是该主题的悲剧。

您也可以使用这个库: https://github.com/JoanZapata/android-iconify

它使用 FontAwesome,因此您拥有字体的所有灵活性...

【讨论】:

  • 很好的资源。 +1 分享。
【解决方案2】:

是的,你可以,但是这很麻烦

但您可以改用 SVG 文件(您需要一个第三方库,例如 android-svg)。

或者您可以使用Unicode 字符,因为根据定义,TTF 字体是矢量的。
并非所有字形都受 Android 标准字体支持,因此您可能想使用免费的专用图标字体,例如FontAwesome

[编辑]

马克要求它,所以...

好的,这家伙展示了一种通过 XML 制作箭头形状的棘手方法:
http://looksok.wordpress.com/2013/08/24/android-triangle-arrow-defined-as-an-xml-shape/

[编辑 2]

为了未来的记忆(好吧,为了我自己):

这些是我在 Google 中输入的关键字:
android arrow xml drawables
和(作为辅助搜索):
android triangular xml drawables

如果第一个例子还不够。

【讨论】:

  • “是的,你可以”——好的,我会咬的。如何?有例子吗?
  • 好吧,通过使用层列表(原始项的层)和转换,例如旋转。我会挖掘一下,因为我不使用这种痛苦的方法。然后给你举个例子(我想我今天看到了一些东西)
  • @CommonsWare:马克,我用一个例子更新了我的答案。想要更多?谷歌! ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多