React Native 之 Text的使用
前言
学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习
本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会有所偏差,在学习中如果有错会及时修改内容,也欢迎万能的朋友们批评指出,谢谢
文章第一版出自简书,如果出现图片或页面显示问题,烦请转至 简书 查看 也希望喜欢的朋友可以点赞,谢谢
Text 组件介绍
- 在 React Native 用于显示文本的组件就是 Text,和iOS中的 UIlabel,Android中的 TextView类似,专门用来显示基本的文本信息,处理基本的显示布局外,还可以进行嵌套显示,设置样式,已经事件处理(如:点击事件)
Text 组件常用的属性和方法
color:字体颜色
// 字体颜色
color:'blue'效果:

numberOfLines:设置 Text 显示文本的行数,如果显示的内容超过行数,默认其余的文本信息不再显示
render() {
return (
<View style={styles.container}>
<Text style={styles.textStyle} numberOfLines={3}>雨泽Forest雨泽Forest雨泽Forest雨泽Forest雨泽Forest雨泽Forest雨泽Forest雨泽Forest雨泽Forest</Text>
</View>
);
}效果:

fontSize:字体大小
// 字体大小
fontSize:30效果:

fontFamily:字体名称
// 字体类型
fontFamily:'Georgia'效果:

fontStyle('normal', 'italic'):字体风格
// 字体风格
fontStyle:'italic'效果:

fontWeight('normal', 'bold', '100 ~ 900'):指定字体的粗细。大多数字体都支持'normal'和'bold'值。并非所有字体都支持所有的数字值。如果某个值不支持,则会自动选择最接近的值
// 字体粗细
fontWeight:('bold', '700')效果:

textShadowOffset(width: number, height: number):设置阴影效果
textShadowColor:阴影效果颜色
// 阴影
textShadowOffset:{width:3, height:5},
// 阴影颜色
textShadowColor:'black'效果:

textShadowRadius:阴影效果圆角(值越大阴影越模糊)
// 阴影圆角
textShadowRadius:3效果:

letterSpacing:字符间距
// 字符间距
letterSpacing:5效果:

lineHeight:行高
// 行高
lineHeight:25效果:

textAlign('auto', 'left', 'right', 'center', 'justify'):文本对齐方式
- auto
// 文本对齐方式
textAlign:'auto'效果:

- left
// 文本对齐方式
textAlign:'left'效果:

- right
// 文本对齐方式
textAlign:'right'效果:

- center
// 文本对齐方式
textAlign:'center'效果:

- justify
// 文本对齐方式
textAlign:'justify'
效果:

textDecorationLine('none', 'underline', 'line-through'):横线位置
- none:没有横线
- underline:
// 横线
textDecorationLine:'underline'效果:

- line-through:
// 横线
textDecorationLine:'line-through'效果:

textDecorationStyle('solid', 'double', 'dotted', 'dashed'):线风格
- solid
// 横线风格
textDecorationStyle:'solid'效果:

- double
// 横线风格
textDecorationStyle:'double'效果:

- dotted
// 横线风格
textDecorationStyle:'dotted'效果:

- dashed
// 横线风格
textDecorationStyle:'dashed'效果:

textDecorationColor:线的颜色
// 线的颜色
textDecorationColor:'black',效果:

allowFontScaling:控制字体是否要根据iOS的“文本大小”辅助选项来进行缩放
adjustsFontSizeToFit:指定字体是否随着给定样式的限制而自动缩放
minimumFontScale:当adjustsFontSizeToFit开启时,指定最小的缩放比(即不能低于这个值)。可设定的值为0.01 - 1.0
suppressHighlighting:当为true时,如果文本被按下,则没有任何视觉效果。默认情况下,文本被按下时会有一个灰色的、椭圆形的高光
selectable:决定用户是否可以长按选择文本,以便复制和粘贴
render() {
return (
<View style={styles.container}>
<Text style={styles.textStyle}
selectable={true}
>
雨泽Forest
</Text>
</View>
);
}效果:

testID:用来在端到端测试中标记这个视图
onPress:当文本发生点击的时候调用该方法
render() {
return (
<View style={styles.container}>
<Text style={styles.textStyle}
onPress={()=>{alert('点击')}}
>
雨泽Forest
</Text>
</View>
);
}效果:

onLongPress:当文本被长按以后调用此回调函数(参考onPress)
onLayout:当挂载或者布局变化以后调用(参数为:{nativeEvent: {layout: {x, y, width, height}}})(参考onPress)
Text 使用
视图部分
render() {
return (
<View style={styles.container}>
<Text style={styles.textStyle}>雨泽Forest</Text>
</View>
);
}样式部分
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'green',
}, textStyle: {
// 背景色
backgroundColor:'yellow',
// 字体大小
fontSize:30,
// 下划横线
textDecorationLine:'underline'
} });效果:
Text 组件的嵌套使用
视图部分
var test = React.createClass({
render() {
return (
<View style={styles.container}>
<Text style={styles.textStyle} numberOfLines={3}>
雨泽
<Text style={{color:'orange'}}>
Forest
</Text>
</Text>
</View>
);
}
});样式部分
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'green',
}, textStyle: {
// 字体颜色
color:'blue',
// 字体大小
fontSize:30
} });效果:

Text 组件中样式的继承
在 React Native 中是没有样式继承这种说法的,但对于 Text 元素里边的 Text 元素,其实是可以继承的,至于是单继承还是多继承,我们可以来试验一下
- 视图部分
var test = React.createClass({
render() {
return (
<View style={styles.container}>
<Text style={styles.textStyle} numberOfLines={3}>
<Text>
<Text>雨泽Forest</Text>
</Text>
</Text>
</View>
);
}
});- 样式部分
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: 'green',
}, textStyle: {
// 字体颜色
color:'blue',
// 字体大小
fontSize:30
} });效果:

通过试验我们可以看出,文字控制类的属性也是
多继承的,和CSS是一样的,而且会取与自己最近的属性归自己所用,也就是说属性可覆盖
很多朋友私信我说更新太慢,在这里说声抱歉,因为接近春节,公司事情比较多,还请朋友们见谅,喜欢我的文章的可以点点关注,有什么不清楚或者建议可以评论或留言,谢谢!
React Native 之 Text的使用的更多相关文章
- React Native & Android & Text Input
React Native & Android & Text Input react native clear input value https://stackoverflow.com ...
- React-Native(五):React Native之Text学习
本章节主要学习Text的布局,仿照网易新网: 代码: /** * Sample React Native App * https://github.com/facebook/react-native ...
- React Native图片控件的使用
首先定义组件 import { AppRegistry, StyleSheet, Text, View, Image,} from 'react-native'; 然后将render返回中的模版增加I ...
- 《React Native 精解与实战》书籍连载「配置 iOS 与 Android 开发环境」
此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...
- <React Native移动开发实战>-1-React Native的JSX解决方案
JSX并不是一门新的开发语言,而是Facebook提出的语法方案:一种可以在JavaScript代码中直接书写HTML标签的语法糖,所以,JSX本质上还是JavaScript语言. 小知识:语法糖(S ...
- react native组件的创建
react native组件的创建 react文件加载顺序: react项目启动后,先加载index.js.在index.js中可以指向首页. import { AppRegistry } from ...
- 【React Native】在原生和React Native间通信(RN调用原生)
一.从React Native中调用原生方法(原生模块) 原生模块是JS中也可以使用的Objective-C类.一般来说这样的每一个模块的实例都是在每一次通过JS bridge通信时创建的.他们可以导 ...
- React Native JSX value should be expression or a quoted JSX text.
问题描述: 我在使用props时候, 我的写法是这样的 ... <View> <Person name='john' age=32 gender=true></Pers ...
- React Native组件之Text
React Native组件之Text相当于iOS中的UILabel. 其基本属性如下: /** * Sample React Native App * https://github.com/face ...
随机推荐
- 如何一步一步用DDD设计一个电商网站(五)—— 停下脚步,重新出发
阅读目录 前言 单元测试 纠正错误,重新出发 结语 一.前言 实际编码已经写了2篇了,在这过程中非常感谢有听到观点不同的声音,借着这个契机,今天这篇就把大家提出的建议一个个的过一遍,重新整理,重新出发 ...
- ASP.NET Core HTTP 管道中的那些事儿
前言 马上2016年就要过去了,时间可是真快啊. 上次写完 Identity 系列之后,反响还不错,所以本来打算写一个 ASP.NET Core 中间件系列的,但是中间遇到了很多事情.首先是 NPOI ...
- js实现前端分页页码管理
用JS实现前端分页页码管理,可以很美观的区分页码显示(这也是参考大多数网站的分页页码展示),能够有很好的用户体验,这也是有业务需要就写了一下,还是新手,经验不足,欢迎指出批评! 首先先看效果图: 这是 ...
- logstash file输入,无输出原因与解决办法
1.现象 很多同学在用logstash input 为file的时候,经常会出现如下问题:配置文件无误,logstash有时一直停留在等待输入的界面 2.解释 logstash作为日志分析的管道,在实 ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
- 转:聊聊mavenCenter和JCenter
Gradle支持从maven中央仓库和JCenter上获取构件,那这两者有什么区别呢? maven中央仓库(http://repo1.maven.org/maven2/)是由Sonatype公司提供的 ...
- jQuery学习之路(1)-选择器
▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...
- 接口--interface
“interface”(接口)关键字使抽象的概念更深入了一层.我们可将其想象为一个“纯”抽象类.它允许创建者规定一个类的基本形式:方法名.自变量列表以及返回类型,但不规定方法主体.接口也包含了基本数据 ...
- 【腾讯Bugly干货分享】Android Linker 与 SO 加壳技术
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57e3a3bc42eb88da6d4be143 作者:王赛 1. 前言 Andr ...
- ntp
一: 在一台可以连接外网的服务器A上配置ntp: 配置 /etc/ntp.conf 文件: server 202.120.2.101 # local clock (LCL) ...
























