react-native-vector-icons(自定義)詳細(xì)用法說明

1.react-native-vector-icons安裝

先給項(xiàng)目安裝該庫
npm install react-native-vector-icons --save
iOS和安卓關(guān)聯(lián)該庫
react-native link

2.基礎(chǔ)使用

2.1庫基本使用

該庫自帶button,tabbarItem,navigatorItem使用
具體使用鏈接:https://github.com/oblador/react-native-vector-icons

2.2 View和Text使用

安卓使用只能使用第一種View
iOS使用倆種View和Text
引入需要使用的矢量圖庫 Ionicons可以替換
import Ionicons from'react-native-vector-icons/Ionicons'
具體代碼如下

<Ionicons    
 name = {‘ ios-information-circle’}     
 size    =  {26}    
 color  = { '#ccc' } />

size:代表矢量圖的大小
name:代表Ionicons庫中圖標(biāo)的名字
style:代表矢量圖格式

2.2.2View的使用

View添加圖片的使用
View包裹使用

<View style={{height: 30, width: 30}}>    
<Ionicons 
    name="ios-add-circle" 
    size={30} 
   color="#4F8EF7"/>
</View>

2.2.3Text的使用

Text包裹使用

<Text> hahha 
<Ionicons 
name='ios-information-circle' 
size={30} 
color='#4F8EF7'/> 
8888 
</Text>

3.自定義圖片的使用

3.1 createIconSet(glyphMap, fontFamily[, fontFile])

3.1.1 使用自定義的iconfont

前面基礎(chǔ)使用的該庫自帶的iconfont,如果要使用其他人或者自己制作的iconfont應(yīng)該怎么辦?例如使用阿里巴巴矢量圖標(biāo)庫上面的iconfont

4.png

將你需要的圖標(biāo)添加到購物車,點(diǎn)擊購物車出現(xiàn)如下圖,然后點(diǎn)擊下載代碼
1.png

點(diǎn)擊下載至本地并解壓縮,里面包含所需要的字體文件,找到iconfont.ttf,這是需要的文件
并且iconfont.ttf一定要放在node_modules/react-native-vector-icons/fonts/目錄下
并且執(zhí)行react-native link react-native-vector-icons
不然會報錯 iconfont.ttf該字體無法識別

3.png

3.1.2.react-native-vector-icons結(jié)構(gòu)分析

找到node_modules/react-native-vector-icons的根目錄坏挠,可以看到很多js文件邓深,命名都是以圖標(biāo)庫的名稱命名印叁,隨便打開一個Ionicons.js,發(fā)現(xiàn)代碼很簡單

5.png

其中glyphMap來自于Ionicons.json,則需要看一下Ionicons.json格式如下圖

6.png

由圖片可以看出Ionicons.json文件格式為 名字:十進(jìn)制數(shù)
則自定義的阿里巴巴矢量圖字符碼如下
將購物車圖標(biāo)添加到項(xiàng)目中,查看具體圖標(biāo)的字符碼

2.png

需要將&#x去帶只看e61f十六進(jìn)制,如果我們需要的矢量圖很少,則可以手動轉(zhuǎn)化

3.1.3自定義iconfont.js文件

7.png

另一種方式書寫方式如下
8.png

如果你自定義的Myicon文件在文件的根目錄
import Myicon from "./Myicon";
如果你定義的Myicon文件在node_modules/react-native-vector-icons的目錄
import Myicon from 'react-native-vector-icons/ Myicon
項(xiàng)目使用為
9.png

如果字符碼成百個手動一個個轉(zhuǎn)化很耗時,這需要自動化生產(chǎn)iconfont.json過程如下:3.2

3.2安裝python

3.2.1

mac系統(tǒng)自帶不需要安裝
Windows安裝
參考點(diǎn)擊下載pthon安裝https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi 等待安裝完成.

3.2.2配置python環(huán)境變量

在path中添加python安裝目錄以及Scripts

10.png

安裝foottools
pip install fonttools
具體介紹請參考:github地址

3.2.3準(zhǔn)備react-native-iconfont-mapper

直接打包下載react-native-iconfont-mapper糙捺,或者通過git克隆到本地,這個目錄自己選個容易記住的,因?yàn)橐院笥玫谋容^多髓废。
打開你本地下載的react-native-iconfont-mapper里面比較單一,只有一個iconfont-mapper.py python文件

3.2.4 提取字符表

將前面下載的字體包中的ttf文件拷貝到你下載的react-native-iconfont-mapper打開的目錄中如下

12.png

在本地終端執(zhí)行命令
python iconfont-mapper.py iconfont.ttf iconfont.js
其中 iconfont.ttf 為你下載的字體名稱
其中iconfont.js為你下載字體名稱為名的js文件
生成iconfont.js文件入下圖
11.png

打開iconfont.js文件內(nèi)容如下
13.png

3.2.5 新建icon font.json

按照node_modules/react-native-vector-icons/glyphMaps/Ionicons.json格式創(chuàng)建iconfont.json
將上面的map = {"huchudianhua":"58910","laidianxianshi":"58911",}
復(fù)制,創(chuàng)建出 iconfont.json

{
"huchudianhua":"58910",
"laidianxianshi":"58911",
}

3.3 createIconSetFromFontello(config[, fontFamily[, fontFile]])`

在Fontello庫中下載矢量圖,鏈接http://fontello.com

14.png

點(diǎn)擊Download webfont下載解壓如下獲取到config.json文件以及fontello.ttf
注意: fontello.ttf一定要放在node_modules/react-native-vector-icons/fonts/目錄下
config.json也最好放在node_modules/react-native-vector-icons/glyphMaps/目錄下
并且執(zhí)行react-native link react-native-vector-icons
15.png

3.3.1自定義fontello.js文件為

16.png

3.3.2在項(xiàng)目中使用

自定義的FontTello文件在文件的根目錄
import FontTello from "./ FontTello'"
定義的FontTello文件在node_modules/react-native-vector-icons的目錄
import FontTello from 'react-native-vector-icons/ FontTello'

17.png

3.4 createIconSetFromIcoMoon(config[, fontFamily[, fontFile]])

在IconMoon矢量圖中下載圖片 鏈接:https://icomoon.io/

19.png

點(diǎn)擊下載Download 下載解壓如下獲取到selection.json文件以及icomoon.ttf
注意: icomoon.ttf一定要放在node_modules/react-native-vector-icons/fonts/目錄下
selection.json也最好放在node_modules/react-native-vector-icons/glyphMaps/目錄下
并且執(zhí)行react-native link react-native-vector-icons
23.png

3.4.1自定義icomoon.js文件為

24.png

3.4.2在項(xiàng)目中使用

自定義的Icomoon文件在文件的根目錄
import Icomoon from "./ Icomoon"
自定義的Myicon文件在node_modules/react-native-vector-icons的目錄
import Icomoon from 'react-native-vector-icons/ Icomoon

25.png

本文章有引用以下文章

http://www.reibang.com/p/332198bf46a7

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末懒棉,一起剝皮案震驚了整個濱河市草描,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌策严,老刑警劉巖穗慕,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妻导,居然都是意外死亡逛绵,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門倔韭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來术浪,“玉大人,你說我怎么就攤上這事寿酌∫人眨” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵醇疼,是天一觀的道長碟联。 經(jīng)常有香客問我妓美,道長,這世上最難降的妖魔是什么鲤孵? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任壶栋,我火速辦了婚禮,結(jié)果婚禮上普监,老公的妹妹穿的比我還像新娘贵试。我一直安慰自己,他們只是感情好凯正,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布毙玻。 她就那樣靜靜地躺著,像睡著了一般廊散。 火紅的嫁衣襯著肌膚如雪桑滩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天允睹,我揣著相機(jī)與錄音运准,去河邊找鬼。 笑死缭受,一個胖子當(dāng)著我的面吹牛胁澳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播米者,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼韭畸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蔓搞?” 一聲冷哼從身側(cè)響起胰丁,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喂分,沒想到半個月后隘马,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妻顶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年酸员,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片讳嘱。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡幔嗦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沥潭,到底是詐尸還是另有隱情邀泉,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站汇恤,受9級特大地震影響庞钢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜因谎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一基括、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧财岔,春花似錦风皿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至夷恍,卻和暖如春魔眨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酿雪。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工遏暴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人执虹。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓拓挥,卻偏偏與公主長得像唠梨,于是被迫代替她去往敵國和親袋励。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

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