Android应用开发之PNG、IconFont、SVG图标资源优化详解

本文深入探讨了Android应用中PNG、SVG和IconFont三种图标资源的优缺点,强调了SVG和IconFont在不同分辨率下的清晰度优势。通过实例展示了如何在App中使用IconFont和SVG,包括IconFont的Typeface设置和SVG的VectorDrawable使用,阐述了Android L引入的VectorDrawable和AnimatedVectorDrawable的特性及其XML定义。最后,文章指出Android Studio已支持直接将SVG转换为XML资源,简化了开发流程。
摘要由CSDN通过智能技术生成

PNG为位图,是由不同的排列和染色的像素点组成的图像,当放大位图时就能清晰的看见无数个小方块(像马赛克一样),所以位图的扩大实质是增加单个像素点的大小,故而导致在不同分辨率表现非常糟糕。

SVG为可缩放矢量图,它不会像位图一样因为缩放而让图片质量下降,他在不同分辨率的表现都一样清晰。

IconFont是WebFont形式的图标,你可以把他认为就是WebFont,该类东东的制作来自于SVG矢量图,所以它不会像位图一样因为缩放而让图片质量下降,他在不同分辨率的表现都一样清晰。

下面我们简单给出这几种格式图标素材的对比:

| 图标类型 | 构成 | 优势 | 劣势 |

| — | — | — | — |

| PNG | 独立像素点 | 可以实现各种色彩及真实画面的复现 | 体积比较大,缩放和旋转易失真 |

| SVG | 向量 | 体积较小,缩放和旋转不失真 | 制作色彩变化太多的图象难度比较大 |

| IconFont | WebFont | 体积较小,缩放和旋转不失真 | 基本不支持多色彩图像,一般都是单色 |

有了上面这些对比之后,在正式开始实战之前我们先来简单粗暴了解下SVG与IconFont在App中的优点吧,不然下文就没有存在的意义喽,如下:

  • 图标集中处理,设计妹妹只用出一次图喽。

  • 减少重型应用或者固件大小,因为IconFont是字符串而不是图片,SVG的体积也小于PNG。

  • 因为IconFont的绘制原理和普通文本一样,所以运行时会占用更小的内存空间。

听着挺诱人,好吊的样子,实际下面我们来看一下你就明白啦。

3 PNG、IconFont、SVG实战

========================

有了上面的理论基础,下面我们就来看下他们各自的使用方法;关于PNG的使用这里就不介绍了,没啥新鲜的,从Android一出来支持到现在的格式,要是还不会那就真该拖出去乱炖了。

3-1 IconFont使用实例


哈哈,这个其实阿里妈妈MUX团队早就给大家搞好强大的库和相关使用文档了,详细可以点我查看。当然喽,有的公司会搞自己的库服务器,自己去搭建,有的公司会借助阿里妈妈提供的平台直接去制作;不管哪种平台其实实质都一样,没啥可说的,原理一样,只是我们可能会自己依据需求自定义一些支持IconFont的拓展TextView、ImageView等,万变不离其宗,由于确实很简单,下面我们给一个非常简单的例子描述就行了。如下以阿里巴巴IconFont平台为例:

  1. 从平台选择要使用到的图标下载到本地,复制ttf字体文件到项目assets目录下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值