IconFont介绍
IconFont实际是把图片做在字体文件(.ttf)中.
ttf文件中每个图片对应的一个unicode码.
TextView 设置文字的时候,使用对应的unicode码就能显示出图片.
打开iconfont.ttf, 可以看到里面全是图片
![](http://upload-images.jianshu.io/upload_images/4048192-212f17281f0835fd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Snip20161215_15.png
假如在iconfont.ttf里面. unicode码""对应的是"visa"这个图片,
那么android:text="文字和图片混排" 显示效果如下
![](http://upload-images.jianshu.io/upload_images/4048192-4294ac1202cd280a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Snip20161215_17.png
是不是很帅~
我们目前项目中都在使用IconFont. 他有很多优点:
优点
- apk文件变小了.
(以demo中的iconfont.ttf为例)
字体文件才139KB,里面有670+个字符.
要是放普通图片,那估计好几M,甚至十几M - IconFont可以随意设置大小,变大后不会发虚.
- 可以随意设置颜色
- 方便批量切换图标,只要更新iconfont.ttf文件就行了.
- 很容易实现图文混排. 因为都是Icon也被看做为文字.
缺点
- 图片只能显示纯色的
使用方法
下面以IconFontDemo为例,介绍一下iconfont的使用方法.
demo效果如下
![](http://upload-images.jianshu.io/upload_images/4048192-8e3e7fc4a01f21f5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
iconfont_2.png