React Native 字體適配解決方法

【注】該方法僅對RN0.50版本以后。

曾經有一個問題一直沒有解決,當 <Text>設置好字號以后,一些客戶手機系統的字體更改大小,這時候,RN APP里面字體也隨之變化


Simulator Screen Shot - iPhone 6 - 2018-02-27 at 15.50.45.png

系統最小號字體


Simulator Screen Shot - iPhone 6 - 2018-02-27 at 15.51.12.png

系統最大號字體

這種情況就讓程序猿苦惱了

下面介紹解決方法

import {
    Platform,
    StyleSheet,
    Text,
    View,
    SafeAreaView,
    DeviceInfo,
    Button,
} from 'react-native';

const styles = StyleSheet.create({
  container: {
    flex: 1,
    //justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
    flexDirection: 'column',
    justifyContent: 'space-between',
  },
  welcome: {
    fontSize: 20*(1.0/DeviceInfo.Dimensions.screen.fontScale),
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
    fontSize:20,
  },
  bottom: {
    //justifyContent: 'flex-end',
    alignItems: 'flex-end'
  }
});

關鍵就在這

 fontSize: 20*(1.0/DeviceInfo.Dimensions.screen.fontScale)

直接看效果吧


Simulator Screen Shot - iPhone 6 - 2018-02-27 at 15.56.19.png

字號已經不在跟隨系統變化了

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容