博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react-native优雅的使用iconfont字体图标
阅读量:6367 次
发布时间:2019-06-23

本文共 1307 字,大约阅读时间需要 4 分钟。

引言

在此之前已经有很多前辈分享自定义图标的经验,在这里我分享一种个人觉得比较优雅的使用icnfont字体图标的方案。

一步一个脚印

项目目录

  • root
    • ...
    • android
    • font
    • App.js

安装依赖

  • 首先局部安装 react-native-vector-icons
    yarn add react-native-vector-iconsreact-native link react-native-vector-icons复制代码
  • 全局安装 iconfont-to-json
    npm i iconfont-to-json -g复制代码

下载iconfont的字体

iconfont下载目录

这里我们只需要
iconfont.css
iconfont.ttf 两个文件

放置字体文件

  • iconfont.ttf 拷贝到 /android/app/src/main/assets/fonts 目录下
  • iconfont.css 拷贝到 /font 目录下

生成字体map

package.json添加代码

...    "scripts": {        ...        "build:iconfont": "iconfonttojson ./font/iconfont.css"    }    ...复制代码

执行 npm run build:iconfont 就会在字体目录生成 iconfont.js

这里的key对应字体名称

export default {  "icon-bqxin": 59019,  "icon-sousuo-copy": 58923,  "icon-pinglun": 58938,  "icon-jia": 58930,  "icon-camera_icon": 58967,  "icon-tiaoguofenxiang": 59260}复制代码

在字体目录新建 index.js 抛出自定义字体组件

/font/index.js

import { createIconSet } from 'react-native-vector-icons'import fontJson from './iconfont'export const Iconfont = createIconSet(fontJson, 'Iconfont', 'iconfont.ttf');复制代码

使用

/App.js

import React, {Component} from 'react';import {View} from 'react-native';import { Iconfont } from "./font/index";type Props = {};export default class App extends Component
{ render() { return (
); }}复制代码

效果

demo github:

转载地址:http://mcrma.baihongyu.com/

你可能感兴趣的文章
HDFS 进化,Hadoop 即将拥抱对象存储?
查看>>
Edge 浏览器奇葩 bug:“123456”打印成“114447”
查看>>
Sirius —— 开源版的 Siri ,由 Google 支持
查看>>
《OpenGL ES应用开发实践指南:Android卷》—— 2.7 小结
查看>>
《Windows Server 2012活动目录管理实践》——第 2 章 部署第一台域控制器2.1 案例任务...
查看>>
Java Date Time 教程-时间测量
查看>>
Selector.wakeup实现注记
查看>>
《Java EE 7精粹》—— 第1章 Java EE 1.1 简介
查看>>
《Exchange Server 2013 SP1管理实践》——导读
查看>>
syslog:类Unix系统常用的log服务
查看>>
使用Annotation设计持久层
查看>>
深入实践Spring Boot2.4.1 Neo4j依赖配置
查看>>
Zen Cart 如何添加地址栏上的小图标
查看>>
SecureCrt 连接Redhat linux
查看>>
[NHibernate]持久化类(Persistent Classes)
查看>>
如何在Hive中使用Json格式数据
查看>>
linux如何恢复被删除的热文件
查看>>
Eclipse(MyEclipse) 自动补全
查看>>
Struts2中dispatcher与redirect的区别
查看>>
zabbix agentd configure
查看>>