###写在前面
我们知道Android中,有各种不同尺寸的屏幕,所以,就需要多套UI图片来进行手机的适配,这样,又会造成apk过大,所以,所以,使用字体文件来替换掉UI图片也属于APK瘦身的一种方式,本篇文章将介绍字体图标库的使用。
SVG图片获取
阿里巴巴提供了一个图标库Iconfont,我们可以去这里下载自己需要图标,当然也可以找ui妹子做一套。
我在里面随便下载了一些图片,下载完成后,有如下文件
首相,我们把iconfont.ttf(这就是我们图标生成的字体文件)文件放到我们assets目录下
接着打开里面demo_unicode文件,可以看到里面图标unicode编码
然后我们在values下面的string.xml中创建我们字体图标
如下,我在我的string.xml文件中分别创建wxb报表、wxb标王、wxb工具、wxb明星店铺、wxb品牌宝几个图标的unicode字符
<resources>
<string name="app_name">SVGDemo</string>
<string name="wxb_baobiao"></string>
<string name="wxb_biaowan"></string>
<string name="wxb_gongju"></string>
<string name="wxb_minxindianpu"></string>
<string name="wxb_pinpaibao"></string>
</resources>
现在,我们就能在项目中,使用我们的字体图标了,首先创建TextView
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="60sp"
android:textColor="@color/colorAccent"
android:text="@string/wxb_baobiao"/>
我们直接在text属性中,设置我们在strings文件中设置的图标名字,我这里设置了报表图标。
这里就能看出我们使用字体文件带来的另一个好处:
我们可以通过设置textsSize属性来设置图标的大小,而且无论多大,图标都不会模糊。
我们还可以通过textColor改变图标的颜色。
下面,我们在代码中为TextView设置字体文件
// 加载字体文件
Typeface typeface = Typeface.createFromAsset(getAssets(),"iconfont.ttf");
TextView mTxtView = (TextView) findViewById(R.id.textview);
// 为TextView设置字体文件
mTxtView.setTypeface(typeface);
结果展示: