react-native-vector-icons使用(二)

前端之家收集整理的这篇文章主要介绍了react-native-vector-icons使用(二)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

react-native-vector-icons使用(二)

使用react-native-vector-icons大多都需要自定义,将项目图片转为ttf字体图标进行使用。框架的使用及自定义详细见:https://github.com/oblador/react-native-vector-icons

推荐图标库:

IconFont:http://www.iconfont.cn/home/index
Fontello:http://fontello.com/
IcoMoon:https://icomoon.io/app/#/select

步骤

  1. 首先获取svg图标(设计师提供或者从图标库下载);
  2. 通过Fontello或者IcoMoon提供的方式进行svg转ttf;
  3. 在react-native项目中使用ttf;

这里说下IcoMoon:
1. 通过 Import Icons 导入自己的svg图片

2. 对svg图标进行编辑

一般都是将Scale设置为fit to canvas,Alignment设置为Align to
3. 下载ttf文件
编辑完成后通过 Generate Font 方式下载,解压,font文件夹中的ttf即为图标文件,json文件记录了图标及图标库的信息。

自定义

官方文档中自定义字体图标有3种方式,其实后两种都是基于第一种,分别是对Fontello和IcoMoon两种方式导出字体库文件的封装。以IcoMoon方式为例:


其中图标对应的信息为”icon”

(1)使用方式三。直接将解压后的.json文件复制到icons库中,使用createIconSetFromIcoMoon方式创建图标字体;
(2)使用方式一。从解压后的json文件提取每个icon下properties下的name和code的值作为key和value,生成新的json文件,使用createIconSet方式创建图标字体。按icons库提供的方式添加icomoon.js文件代码如下:

import createIconSet from './lib/create-icon-set-from-icomoon';
import glyphMap from './glyphmaps/selection.json';

const iconSet = createIconSet(glyphMap,'icomoon','icomoon.ttf');

export default iconSet;

export const Button = iconSet.Button;
export const TabBarItem = iconSet.TabBarItem;
export const TabBarItemIOS = iconSet.TabBarItemIOS;
export const ToolbarAndroid = iconSet.ToolbarAndroid;
export const getImageSource = iconSet.getImageSource;

猜你在找的React相关文章