IconFont在Android中的使用

什么是iconFont

  • iconFont顧名思義是字體圖標(biāo),圖標(biāo)就藏在字體文件里面,看著是個圖標(biāo),其實卻是個文字,這就是所謂的icon font。
  • iconFont是矢量圖標(biāo)

iconFont優(yōu)缺點

  • 優(yōu)點
1.由于IconFont是矢量圖標(biāo),所以可以輕松解決圖標(biāo)適配問題
2.圖標(biāo)以字體文件的形式存在項目中(.ttf文件一般放在assets文件夾下),體積小可以減小APK的體積。
3.一套圖標(biāo)資源可以在不同平臺使用(android ,ios,web)
4.資源維護(hù)方便。
  • 缺點
1.需要自定義svg圖片,并將其轉(zhuǎn)換為ttf文件,圖標(biāo)制作成本比較高
2.添加圖標(biāo)是需要重新制作ttf文件
3.只能支持單色(不支持漸變色圖標(biāo))
  • 通過以上的利弊分析,IconFont還是很值得我們使用的,大家可能擔(dān)心制作問題,但是我覺得沒有必要,因為我們有阿里巴巴矢量圖標(biāo)庫,基本的圖標(biāo)我們都可以找到,最重要的是阿里巴巴矢量圖標(biāo)庫支持IconFont,所以我們這些開發(fā)者就不用擔(dān)心制作的問題啦。

IconFont在android端的使用

終于來到正文啦,那我們就看看iconfont如何使用吧!

  • iconfont.ttf文件
iconfont圖標(biāo)
  • 使用FontLab studio 5查看iconfont.ttf文件


    iconfont.ttf文件內(nèi)容
  • 代碼片段

//我這里的圖標(biāo)文件是iconfont.ttf(目錄:assets/fonts/iconfont.ttf)
TextView tv1=(TextView)findViewById(R.id.xxxx);
Typeface    typeface=Typeface.createFromAsset(getAssets(),
"fonts/iconfont.ttf");
tv1.setTypeface(typeface);
//設(shè)置圖標(biāo)(對應(yīng)上面的點贊圖標(biāo))(Unicode編碼)
tv1.setText("\ue600");
  • 剩下的就是和正常使用TextView沒有什么區(qū)別了,顏色切換,大小設(shè)置等。(文章的最后會貼上阿里巴巴矢量圖庫使用教程)

效果圖

iconfont-screen.gif

Demo代碼片段

  • layout布局文件
<TextView     
 android:id="@+id/main_text"  
  android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:clickable="true"    
android:textColor="@color/text_color_selector"     />
  • color/text_color_selector 文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@android:color/darker_gray" android:state_pressed="true"/> 
   <item android:color="@android:color/holo_blue_bright"/>
</selector>

github上也有IconFont支持庫

                            覺得不錯點個贊唄~哈哈

參考文章

淺談矢量圖形前景
知乎回答IconFont
Icon Font --Android圖標(biāo)也能輕松換膚
如何在移動設(shè)備上應(yīng)用iconfont

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容