安卓图标IconFont使用

时间:2023-03-09 02:11:17
安卓图标IconFont使用

一、补充知识: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,就是这些了