介绍Font Awesome如何在android中使用之前,先贴出一个链接:
这篇文章是泡网上的一篇译文,可以先看看这篇,了解个大概
我这里把泡网上的关于android使用Font Awesome的具体方法详细说一下:
直奔主题吧,
android中使用Font Awesome其实很简单,我们知道比如一个TextView或者Button,在布局文件中设置文本使用的是android:text="张三",这样就把"张三"显示在了TextView或者Button上,而设置字体图标的方式和设置文本的方式一模一样,也是通过android:text=" "来设置,只不过一个是设置文本一个是设置图标,虽然把它叫做设置图标,但是我们设置的却不是图标,而是和文本类型一样的内容,只不过是以图标的方式呈现出来的,说到这里,可能有人就能比较出字体图标和真正的图片图标的区别,一个真正的正常大小的图片图标一般至少也得有几kb把,而字体图标达到同样的效果,大小却只有几个字节,这中间的差距可想而知,而且使用字体图标更大的好处就是不用担心屏幕适配,我们都知道,一般给android应用准备图片图标的时候为了防止图片失真,我们通常都会放上4套以上的相同内容不同分辨率的图片用来做屏幕的适配,但是即使这样做了,有时图片的展示还有会有些失真模糊,而使用字体图标根本不用关心屏幕适配的问题,它会根据不同的分辨率自动匹配最合适的字体图标.
ok,说完优点,我们看看具体怎么在android中使用Font Awesome吧,其实泡网上的那篇文章都已经讲的很详细了,这里还是再说一遍吧
1,先从http://www.bootcss.com/p/font-awesome/# 这里把Font Awesome下载下来,目前Font Awesome版本为3.0
2,解压第一步下载的压缩包,把font文件夹中的 fontawesome-webfont.ttf 字体文件复制粘贴到android项目的assets文件夹内,没有assets文件夹就新建一个,注意assets文件夹和res文件夹是同级的,
3,给想要设置字体图标的控件设置一下Typeface,Typeface的获取方法可以使用泡网上提供的FontManager类,也可以自己写,反正核心代码都一样,
4,在values目录的strings.xml文件中定义字体图标的unicode值,
5,给控件设置text属性
第3,5步的具体实现代码如下:
textView = (TextView) findViewById(R.id.textView);
//第3步
Typeface iconFont = FontManager.getTypeface(getApplicationContext(), FontManager.FONTAWESOME);
FontManager.markAsIconContainer(textView, iconFont);
//第4步
textView.setText(R.string.fa_angle_right);
//设置字体图标的颜色
textView.setTextColor(Color.RED);
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="fa_angle_right"></string>
</resources>
我们来看看效果
如上图,就是一个红色的由红点组成的圆圈,
是不是很简单,我们改变unicode值,可以实现各种效果,如下面几个的效果;
当unicode的值为 " " 时的效果如下
当unicode的值为 " " 时的效果如下
是不是感觉图标都很清晰,没有一点失真的感觉.
注意,unicode值肯定不是随便写的,
我们使用Font Awesome,它提供的unicode列表地址为:
http://fortawesome.github.io/Font-Awesome/cheatsheet/
这个地址里包含了N多个字体图标和对应的unicode值
如果这篇文章对你有帮助,就点个赞鼓励下~~