一、补充知识:PNG、IconFont、SVG理论
PNG为位图,是由不同的排列和染色的像素点组成的图像,位图的扩大实质是增加单个像素点的大小,故而导致在不同分辨率表现非常糟糕。
SVG为可缩放矢量图,它不会像位图一样因为缩放而让图片质量下降,在不同分辨率的表现都一样清晰。
IconFont是WebFont形式的图标,可以把他认为就是WebFont,制作来自于SVG矢量图,在不同分辨率的表现都一样清晰。
图标类型 | 构成 | 优势 | 劣势 |
---|---|---|---|
PNG | 独立像素点 | 可以实现各种色彩及真实画面的复现 | 体积比较大,缩放和旋转易失真 |
SVG | 向量 | 体积较小,缩放和旋转不失真 | 制作色彩变化太多的图象难度比较大 |
IconFont | WebFont | 体积较小,缩放和旋转不失真 | 基本不支持多色彩图像,一般都是单色 |
二、本文介绍IconFont的使用
1、首先需要一个制作网站,推荐https://icomoon.io/
2、选择需要的图标,生成IconFont,记下相对应的字符码
3、复制ttf字体文件到安卓项目assets目录(木有,自己创建啊)
4、在资源xml文件写下相应的字符码
<TextView android:id="@+id/tvText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="16sp" android:text="\uE900" />
5、然后在你的文本控件初始化的时候写如下代码
Typeface iconfont = Typeface.createFromAsset(getAssets(), "iconfont.ttf"); TextView textview = (TextView)findViewById(R.id.tvText); textview.setTypeface(iconfont);
ok,就是这些了