Adnroid Iconfont/Font Awesome矢量圖的正確打開方式

Iconfont

1捎琐、寫在前面的話:

大家一般在使用圖片資源的時(shí)候,會(huì)放在mipmap/drawable文件夾種否彩。這樣呢,為了適配大部分手機(jī)嗦随,我們要分別放幾套圖進(jìn)去胳搞,造成我們開發(fā)包的體積會(huì)變大。同時(shí)呢称杨,發(fā)現(xiàn)有一些UI工程師在設(shè)計(jì)圖片的時(shí)候肌毅,會(huì)去阿里矢量圖上找一些資源。這時(shí)候姑原,如果是網(wǎng)上有的資源悬而,那我們就不用UI工程師去做一遍了,我們自己來搞定锭汛。嗯嗯笨奠,下邊來看看怎么實(shí)現(xiàn)吧。

2唤殴、效果圖來了:

效果圖

3般婆、具體實(shí)現(xiàn):

這里我們使用github上的一個(gè)開源庫(kù)android-iconify

3.1、添加依賴:

這里在使用中大家可以選擇一些來添加朵逝,視情況而定

    compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.2.2' // (v4.5)
    compile 'com.joanzapata.iconify:android-iconify-entypo:2.2.2' // (v3,2015)
    compile 'com.joanzapata.iconify:android-iconify-typicons:2.2.2' // (v2.0.7)
    compile 'com.joanzapata.iconify:android-iconify-material:2.2.2' // (v2.0.0)
    compile 'com.joanzapata.iconify:android-iconify-material-community:2.2.2' // (v1.4.57)
    compile 'com.joanzapata.iconify:android-iconify-meteocons:2.2.2' // (latest)
    compile 'com.joanzapata.iconify:android-iconify-weathericons:2.2.2' // (v2.0)
    compile 'com.joanzapata.iconify:android-iconify-simplelineicons:2.2.2' // (v1.0.0)
    compile 'com.joanzapata.iconify:android-iconify-ionicons:2.2.2' // (v2.0.1)
3.2蔚袍、application初始化:
    @Override
    public void onCreate() {
        super.onCreate();
        Iconify
                .with(new FontAwesomeModule())
                .with(new EntypoModule())
                .with(new TypiconsModule())
                .with(new MaterialModule())
                .with(new MaterialCommunityModule())
                .with(new MeteoconsModule())
                .with(new WeathericonsModule())
                .with(new SimpleLineIconsModule())
                .with(new IoniconsModule())
                .with(new TestFontModule());//自定義字體圖標(biāo)
    }
3.3、xml:
    <com.joanzapata.iconify.widget.IconTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Welcome {fa-smile-o} {fa-hand-peace-o} !"
        android:textColor="#2A9BDA"
        android:textSize="30sp" />

    <com.joanzapata.iconify.widget.IconTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=" {fa-hand-rock-o} " />

按照上述步驟就能實(shí)現(xiàn)了一個(gè)圖片的顯示配名,至于“{faxxxx}”是哪里來的啤咽,這里我們需要去Font Awesom網(wǎng)站
然后我們打開一個(gè)圖標(biāo),就會(huì)發(fā)現(xiàn)里邊有類似fa-XX渠脉,然后復(fù)制到xml文件中就可以了宇整。

3.4、使用Iconfont圖標(biāo):
購(gòu)物車

我們要先把圖標(biāo)放進(jìn)購(gòu)物車芋膘,然后下載代碼鳞青,然后會(huì)看到一個(gè)如下的文件

download

然后我們把里邊的iconfont.ttf放在main下的assets文件夾下.
然后創(chuàng)建一個(gè)枚舉類TestIcons,代碼如下:

package com.li.xiaomi.testfontapp.font;

import com.joanzapata.iconify.Icon;

/**
 * 作者:dell or Xiaomi Li
 * 時(shí)間: 2018/3/9
 * 內(nèi)容:自定義字體圖片庫(kù)
 * 最后修改:
 */

public enum TestIcons implements Icon {
    icon_setting('\ue61b'),
    icon_xiangjiaosuliao('\ue643'),
    icon_indemnity('\ue687'),
    icon_return('\ue688'),
    icon_brain('\ue79f');

    private char character;

    TestIcons(char character) {
        this.character = character;
    }

    @Override
    public String key() {
        return name().replace('_', '-');
    }

    @Override
    public char character() {
        return character;
    }
}

然后創(chuàng)建一個(gè)TestFontModule.class

package com.li.xiaomi.testfontapp.font;

import com.joanzapata.iconify.Icon;
import com.joanzapata.iconify.IconFontDescriptor;

/**
 * 作者:dell or Xiaomi Li
 * 時(shí)間: 2018/3/9
 * 內(nèi)容:
 * 最后修改:
 */

public class TestFontModule implements IconFontDescriptor {

    @Override
    public String ttfFileName() {
      //填寫ttf的文件名稱
        return "iconfont.ttf";
    }

    @Override
    public Icon[] characters() {
        return TestIcons.values();
    }
}

我們先看TestIcons類,里邊的枚舉類型为朋,是在demo_unicode.html文件中查看的

demo_unicode.html[圖片上傳中...(4.png-afe0cf-1520585958400-0)]

demo_unicode.html

我們把“&#xe61b”這個(gè)代碼放進(jìn)TestIcons類中臂拓,并且吧“&#x”用“\u”替換。同時(shí)潜腻,在Application中添加TestFontModule 的初始化方法埃儿。

3.5、然后我們看完成的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.li.xiaomi.testfontapp.ui.MainActivity">

    <com.joanzapata.iconify.widget.IconButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="{icon-setting}" />

    <com.joanzapata.iconify.widget.IconTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="{icon-xiangjiaosuliao}"
        android:textSize="50dp" />

    <com.joanzapata.iconify.widget.IconTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="{icon-indemnity}"
        android:textSize="50dp" />

    <com.joanzapata.iconify.widget.IconTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Welcome {fa-smile-o} {fa-hand-peace-o} !"
        android:textColor="#2A9BDA"
        android:textSize="30sp" />

    <com.joanzapata.iconify.widget.IconTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="{fa-thumbs-up}" />

</LinearLayout>

4融涣、結(jié)束語:

到這里就結(jié)束了童番,Demo地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末精钮,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子剃斧,更是在濱河造成了極大的恐慌轨香,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幼东,死亡現(xiàn)場(chǎng)離奇詭異臂容,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)根蟹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門脓杉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人简逮,你說我怎么就攤上這事球散。” “怎么了散庶?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵蕉堰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我悲龟,道長(zhǎng)屋讶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任须教,我火速辦了婚禮皿渗,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘没卸。我一直安慰自己羹奉,他們只是感情好涛浙,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布厂镇。 她就那樣靜靜地躺著咐吼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪煤蚌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天细卧,我揣著相機(jī)與錄音尉桩,去河邊找鬼。 笑死贪庙,一個(gè)胖子當(dāng)著我的面吹牛蜘犁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播止邮,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼这橙,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼奏窑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起屈扎,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤埃唯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后鹰晨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體墨叛,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年模蜡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了漠趁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忍疾,死狀恐怖棚潦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情膝昆,我是刑警寧澤丸边,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站荚孵,受9級(jí)特大地震影響妹窖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜收叶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一骄呼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧判没,春花似錦蜓萄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至俏竞,卻和暖如春绸硕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背魂毁。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工玻佩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人席楚。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓咬崔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親烦秩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子垮斯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359