这是将向量(SVG)图插入React Native应用程序的最佳方法

Her*_*tto 3 svg react-native

我需要将矢量(.svg)图像插入到本机应用程序中。请问你能帮帮我吗。

我不知道如何实现这一目标,并且似乎本机反应不支持svg。

任何帮助将不胜感激。

Cas*_*rin 6

有一些工具(https://github.com/seekshiva/react-native-remote-svg和其他工具),但是,我尝试了其中一些工具,但收效不佳,因此我决定创建矢量字体,并且效果很好。为此,您可以使用这些技术将一组svg图像转换为字体(.ttf)。您将真正获得更多可自定义的选项,其中包含字体而不是图像。

我选择了IcoMoon来创建字体(您也可以使用http://fontello.com/或您喜欢的任何其他解决方案来创建字体),在创建字体之后,进行下载,您将获得一个包含所选内容的.zip文件。 .json和icomoon.ttf,将两个文件(如下所示放置文件)复制到您的RN项目中。下一步是安装react-native-vector-icons,使用vector-icons您还可以使用免费的图标字体,例如font-awesome和其他字体。GitHub:https : //github.com/oblador/react-native-vector-icons

安装依赖项并将其链接到ios的android文件夹,并带有:

npm install react-native-vector-icons-保存
react-native链接

使用fontawesome的示例:

import Icon from 'react-native-vector-icons/FontAwesome';
const myIcon = (<Icon name="rocket" size={30} color="#900" />)
Run Code Online (Sandbox Code Playgroud)

将您的图标放在应用程序中。要使用您创建的自定义字体,您必须:

  1. 将您的.ttf放在项目基础的./resources/fonts文件夹中
  2. 将这段代码添加到package.json的第一级:“ rnpm”:{“ assets”:[“ resources / fonts”]},
  3. 在您的终端中:react-native链接

要在react native中使用自定义字体,您必须:

import React, { Component } from 'react';
import {Platform, View } from 'react-native';
import { createIconSetFromIcoMoon } from 'react-native-vector-icons';
import icoMoonConfig from './selection.json';
const Icon = createIconSetFromIcoMoon(icoMoonConfig);
//a constant with your icon with with and color
const home = (<Icon name="home" size={30} color="#f7a805" />);

export default class App extends Component<Props> {
  render() {
    return (
      <View style={styles.container}>
          {home}
      </View>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)