微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐