当前位置: 首页 > 知识库问答 >
问题:

如何设置全局文本样式在反应原生?[复制]

缑泓
2023-03-14

我正在编写一个react原生应用程序,其中99%的文本将使用Lato作为默认字体。

我知道我可以像这样设置<code>Text<code>组件的fontFamily:

<Text style={{
  fontFamily: 'Lato-Regular'
}}>Home page.</Text>

但是我不想在每个Text组件上重复自己。

是否有一种方法可以定义全局文本样式,这样我就可以使用<code>文本

最好和推荐的处理方法是什么?

注意:我正在使用展览,以防这很重要。

共有1个答案

米飞龙
2023-03-14

创建一个 GlobalStyle.js

import { Dimensions } from 'react-native';

const _colorSet = {
  // buttonColor: '#CEA991',
  buttonColor: '#f90b05',
  btnBlue: '#00ffff',
  buttonColorDark: '#90786D',
  separatorGray: '#ECECEC',
  mainBgColor: '#F5F5F5',
  deleteRed: '#E1312B',
  black: '#000000',
  white: '#FFFFFF',
  whiteLight: '#f5f5f5',
  WhiteGrey: '#fafafa',
  red: '#FF0000',
  btnRed: '#f90b05',
  btnBorder: '#f90601',
  txtRed: '#fa0f09',
  ModifierRed: '#f90601',
  BtnFB: '#596eb7',
  appBlack: '#686868',
  transparent: 'transparent',
  mainBgColorSemiTransparent: '#F5F5F588',
  green: '#00FF00',
  bgBlack: '#202023',
  grey: '#757575',
  LightGrey: '#666666',
  BorderGrey: '#e5e5e5',
};

const _fontSet = {
  Regular: 'Lato-Regular',
  Bold: 'Lato-Bold',
  SemiBold: 'Lato-SemiBold',
  Lite: 'Lato-Light',
  ExtraBold: 'Lato-ExtraBold',
};

const GlobalStyle = {
  colorSet: _colorSet,
  fontSet: _fontSet,
  windowW: WINDOW_WIDTH,
  windowH: WINDOW_HEIGHT,
  catItemSize: 90,
};

export default GlobalStyle;

然后创建CommonStyle.js

import { StyleSheet, Platform, StatusBar } from 'react-native';
import GlobalStyle from './GlobalStyles';


const CommonStyle = StyleSheet.create({

TextStyle: {
   fontSize:16,
   fontFamily: GlobalStyle.fontSet.Regular,// where regular will be 'Lato Regular'
   color: GlobalStyle.colorSet.txtRed,
  },


});

然后开始这样用

import CommonStyle from '../../utils/CommonStyles';

<Text style={[CommonStyle.TextStyle]}>Home page.</Text>

享受。。。。

 类似资料:
  • flexDirection设置为行文本的视图内的文本组件从视图中消失。 我尝试将弹性包装设置为包装,但它仍然不起作用。 我希望最后一个元素转到第二行,但它只是从屏幕上消失了。 文本离开视图

  • 是否有一种简单的方法可以将样式应用于特定类型的所有组件,例如或>等,以响应本地构建模板 例如,我希望对所有场景中的所有文本组件使用样式。有没有比每次使用Text组件时指定样式更容易实现的方法 还是需要创建自定义文本组件?并使用它代替基本组件,如下面的示例。使用代替

  • 问题内容: 我有一个带有几个OPTION元素的SELECT列表。这是我天真地设置选项文本部分样式的方法: 这不起作用:浏览器不喜欢OPTION元素内的SPAN元素。 还有其他方式来设置OPTION元素文本的一部分样式吗? 问题答案: 不。使用平台固有的样式设置样式,仅样式样式的一部分无效。(通常也不是一个特别好的主意。)

  • 您好,我想调整字体大小和颜色的字体真棒。这是我正在使用的代码,我可以让颜色或字体大小正常工作。但不是两者都在一起。也不确定我是应该使用内嵌CSS还是创建一个单独的CSS文件。这是一个简短的HTML表单(计算器)。 我的语法有问题吗?我做了大量的搜索,似乎找不到问题所在。 谢谢

  • 我想显示svg文件(我有一堆svg图像),但我找不到显示方式。我试图使用图像和使用 react-native-svg 的组件,但它们不起作用。我试图用原生方式做到这一点,但只显示svg图像真的很辛苦。 示例代码: 另外,我知道反应原生基本上不支持svg,但我认为有人用棘手的方式解决了这个问题(有/没有反应原生-svg)

  • 我试图将我的文本放在可用区域内,我的约束是这样的: 文本不应溢出, 文本必须在所有可用视图内放大, 单词不应拆分为字符,可以转到下一行句子, 当我在父视图中使用flex时,文本在水平方向上的视图扩展不能超过屏幕宽度 下面是我的代码片段: 结果是: 我努力实现我的目标: 我认为这与自定义字体有关