1. 程式人生 > >React Native如何實現自定義字型

React Native如何實現自定義字型

在做web端開發時用到了不少字型圖示庫,在web端設定字型圖示很簡單,就是用一個@font-face設定自定義字型,那麼用react native開發安卓app時如何設定字型圖示呢?
 

react-native-vector-icons

首先sreact native有一個字型圖示庫react-native-vector-icons,關於如何使用這個請參考github上的詳細說明react-native-vector-icons

使用自定義的阿里向量圖示庫

在使用react-native-vector-icons時發現有些需要的圖示不符合我的要求,覺得還是自定義的圖示庫比較方便,阿里巴巴有個

向量圖示庫裡面有很多好看的圖示比較符合要求,那麼如何使用這些呢?
1.首先在阿里的那個網站上選擇好一批需要的圖示,然後下載,解壓後發現有如下檔案
檔案內容
2.將這些字型檔案複製貼上到如下目錄下:[project root]/android/app/src/main/assets/fonts/
3.然後我們自定義一個元件

import React, { Component } from 'react';
import {
    StyleSheet,
    Text,
} from 'react-native';

export class IconFont extends Component {
    constructor(props) {
        super(props);
    }

    render() {
        return (
            <Text 
                style={[styles.icon, this.props.style]}
                onPress={this.props.onPress}   
            >
                {this.props.font}
            </Text>
        )
    }
}

const styles = StyleSheet.create({
    icon: {
        fontFamily:'iconfont',
        color: '#000',
    },
})

4.接下來使用這個元件展現自定義字型圖示,檢視demo_unicode.html中的相關圖示的程式碼,然後引用

<IconFont
    font="&#xe7d8;" // 這是一個導航欄home的圖示
    style={{fontSize: 26 }}
    onPress={() => alert("home") } 
/>

5.到這裡所有工作基本上都做好了,最後就是重新react-native run-android跑一下
6.最後看一下效果
這裡寫圖片描述

相關推薦

react native 新增定義字型

不可避免地,一款高顏值的App或多或少會使用自定義的字型,如何在React Native專案中新增自定義字型呢?答案還是相對簡單的,幾個命令列命令就能搞定 1.首先,確保字型格式是ttf格式的字型,並將自定義的字型整體存入專案資料夾中 比如新建個資料夾名為fonts放在根

使用React Native 實現定義Dialog

前言 最近在專案中的RN模組遇到一個需求,彈出一個Dialog,但是原生的Alert滿足不了需求,只能自己去寫一個,最後決定使用Modal去實現,話不多說,介紹開始,效果圖如下:  1.Modal介紹 Modal檢視在iOS原生開發中熟稱:"模態檢視",Modal進

React Native如何實現定義字型

在做web端開發時用到了不少字型圖示庫,在web端設定字型圖示很簡單,就是用一個@font-face設定自定義字型,那麼用react native開發安卓app時如何設定字型圖示呢?   react-native-vector-icons 首先srea

React Native定義一個導航欄,改變狀態列背景,隱藏狀態列

設計開發過程中,導航欄都會有所不同,這時候使用RN就需要自定義一個想要的導航欄了,RN中文網有講專門ios的導航欄(NavigatorIOS),可以不用自定義。 首先定義自定義導航欄的一些屬性的約束,記得npm install --save prop-types然後引入import Prop

react-native modal定義對話方塊

效果如圖: 程式碼: react native版本0.39.0 /** * Created by xq on 16/12/6. */ import React, { Component ,PropTypes} from 'react'; import { T

react native學習筆記24——Modal實現定義彈出對話方塊

前言 上一篇文章介紹React Native系統提供的兩個彈出框的api——Alert與AlertIOS,Alert可以在雙平臺通用,但是隻能展示資訊量有限功能單一的文字對話方塊。AlertIOS比Alert稍微豐富一點,可以展示供使用者輸入的對話方塊,但只能

React Native實現一個定義模組

概述在 前期介紹React Native 專案結構的時候,我們講解過React的專案組成,其中說過 node_modules 資料夾,這是一個存放 node 模組的地方。我們知道React是用npm來管

React Native之Modal實現定義Dialog

針對普通的彈框,React Native(RN)給我們提供了有Alert,但使用侷限性很大,沒有辦法自定義,要實現自定義的彈框,我們應該如何來實現呢,這裡提供兩種方法:第一就是native本地來實現,然後暴露給RN來條用,第二就是使用元件Modal來實現,第一種方法這裡就不

react-native-vector-icons新增定義字型

首先我們得保證自己已經添加了react-native-vector-icons這個庫,至於怎麼新增請自行檢視官方文件 react-native-vector-icons文件連結 react-native-vector-icons官方新增自定義字型一共有三種方

React-Native開發八 react-navigation之定義元件Counter

1 前言 我們知道RN中任何介面元素都可以看成元件,小到一個按鈕,大到一個頁面。RN開發就是不停的開發元件和使用元件,並讓他們協同工作,這樣高效率協同的執行起來,這樣就能完成一個APP的功能了 在實際的開發中,我們經常需要自定義一些滿足我們專案開發的自定義元件,類似於Android

React中的定義元件模擬實現Vue-router中tag功能

  我們在使用react-router-dom時,跳轉連結的<List>會轉換成<a>標籤。由於<a>標籤會破壞我們的佈局,所以今天我用React中的自定義元件實現一個類似Vue中路由跳轉中tag的功能,保留我們本來的標籤。   本篇文章涉及到的知識點包括:高階元件wit

在html中展示自己設計的字型(使用定義字型實現資料加密)

在iconfont這麼發達的年代,作為前端設計工程師使用font awesome 是十分頻繁的,而“png圖”樣式圖示現在已經應用的比較少了,追溯其原因還是瀏覽器核心的渲染速度提升和字型庫多瀏覽器(包括手機)的支援,向量字型不會出現模糊的情況等等。從最早html4時代把圖示做

CSS3中用定義字型實現小圖示icon

最近在做一個專案時, 研究了一下新浪微博的前端, 看到首頁中那個圖示了嗎, 以前看到這類效果的第一反應就是用一個gif之類的圖示做出來!! 但在研究的過程, 發現了一個小技巧, 注意那個em標籤中的文字是E, 但顯示出來一個類似ICON的圖示.  既然是HTML+CSS

如何實現定義同步組件

nds 允許 oid try unlock all 同步 while name package com.chen;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQ

JS簡單實現定義右鍵菜單

ans idt 右鍵 動畫 忘記 span spa round 部分 RT,一個簡單的例子,僅僅講述原理 <div id="menu" style="width: 0;height: 0;background: cadetblue;position: absolu

Notification的基本用法以及使用RemoteView實現定義布局

解決 edi ngs 取消 ets lsp 過程 net tde Notification的作用 Notification是一種全局效果的通知,在系統的通知欄中顯示。既然作為通知,其基本作用有: 顯示接收到短消息、即時信息等 顯示客戶端的推送(廣告、優惠、新聞等)

React實踐:定義html特性不顯示

clean 框架 user use scenarios () each 後來 方法 發現React中自定義的html特性在render後是不現實,而且getAttribute方法也只能獲取到undefined。 後來去stackoverflow提問,網友回答說: It de

匿名類型與Select方法實現定義對象插入局部表結構中

aso 直接 菜單 ember new order ber 構建 als 在提取局部表結構數據時,通過Select選取需要的字段,如下句,此時其實產生了一個不用於_menuMan的原新數據類型new { c.SYS_COMMANDS_ID,c.TXT_COMMANDTITL

java中實現Comparable接口實現定義排序

static -1 return rabl generated args logs ava sca 1 class Student implements Comparable{ 2 String name; 3 int gpa; 4 @Ov

freemarker實現定義指令和定義函數

數據 dir variables macro 內置 引擎 eem fig turn 自定義指令: 1.指令在前臺實現   <#macro name param1,param2,param3...paramN>   </#macro> 2.指令在後臺實