react native

React Native 文本组件 Text

2017-09-08  本文已影响0人  raosy

组件Text用于显示文本

<Text>hello text</Text> //显示hello text

不可以使用其他组件直接直接将文本作为子节点

<View>文本<View>  //错误

嵌套

Text组件可以嵌套

<Text>
this is a <Text>special</Text> text
</Text>

嵌套组件样式可以继承,就近原则,

<Text style={{color:'#333', padding:10}}>
this is a
<Text style={{color:'red'}}> special </Text>
Text
</Text>

每个Text组件会从新一行起(类似块级元素),而子组件不可换行(类似行内元素),子组件字体,颜色可设置,宽高,margin,padding设置无效。

对于常用样式可以创建可复用组件

<Text style={{color:'#333', padding:10}}>this is a  
  <Strong style={{color:'red'}}> special </Strong>
  Text
</Text>
var styles = StyleSheet.create({
  bold: {
    fontWeight: "bold"
  }
});

var Strong = React.createClass({
    render: function() {
        return (
           <Text style={[styles.bold, this.props.style]}>
            {this.props.children}</Text>
        );
    }
});

属性

名称 作用 限制
adjustsFontSizeToFit 指定字体是否随着给定样式的限制而自动缩放。 bool
allowFontScaling 控制字体是否要根据系统的“字体大小”辅助选项来进行缩放。 bool
minimumFontScale 当adjustsFontSizeToFit开启时,指定最小的缩放比(即不能低于这个值)。 可设定的值为0.01 - 1.0 ios
numberOfLines 用来当文本过长的时候裁剪文本。包括折叠产生的换行在内,总的行数不会超过这个属性的限制。会以“...”来显示 number, 1,2,3....
onLayout 当挂载或者布局变化以后调用,参数为如下的内容:{nativeEvent: {layout: {x, y, width, height}}} function
onLongPress 当文本被长按以后调用此回调函数。 function
onPress 当文本被点击以后调用此回调函数。 function
selectable 决定用户是否可以长按选择文本,以便复制和粘贴。 function
testID 用来在端到端测试中标记这个视图。 string
suppressHighlighting 当为true时,如果文本被按下,则没有任何视觉效果。默认情况下,文本被按下时会有一个灰色的、椭圆形的高光。 bool ios

style

名称 作用 限制
color 颜色 '#333','red'
fontFamily 字体 string字体名称
fontSize 字体大小 number ,13
fontStyle 字体风格 enum('normal', 'italic')
fontWeight 指定字体的粗细。 大多数字体都支持'normal'和'bold'值。并非所有字体都支持所有的数字值。如果某个值不支持,则会自动选择最接近的值。enum('normal', 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900')
lineHeight 行高 number
textAlign 指定文本的对齐方式 enum('auto', 'left', 'right', 'center', 'justify'),其中'justify'值仅iOS支持,在Android上会变为left
textDecorationLine 横线位置 enum('none', 'underline', 'line-through', 'underline line-through')
textShadowColor 阴影效果颜色 颜色值
textShadowOffset 设置阴影效果 {width: number, height: number}
textShadowRadius 阴影效果圆角 number
includeFontPadding Android在默认情况下会为文字额外保留一些padding,以便留出空间摆放上标或是下标的文字。对于某些字体来说,这些额外的padding可能会导致文字难以垂直居中。如果你把textAlignVertical设置为center之后,文字看起来依然不在正中间,那么可以尝试将本属性设置为false. bool android
textAlignVertical 文本垂直对齐方式 enum('auto', 'top', 'bottom', 'center') android
fontVariant 字体的异体 [enum('small-caps', 'oldstyle-nums', 'lining-nums', 'tabular-nums', 'proportional-nums')] ios
letterSpacing 字符间距 number ios
textDecorationColor 文本装饰线条的颜色 颜色值 ios
textDecorationStyle 文本装饰线条的形状 enum('solid', 'double', 'dotted', 'dashed') ios
writingDirection 文本方向 enum('auto', 'ltr', 'rtl') ios

参考:Text

上一篇 下一篇

猜你喜欢

热点阅读