React NativeiOS开发好文React Native 进阶学习

React Native从入门到深入三--常用组件Text的使用

2016-08-31  本文已影响372人  Zax_Smile

一、Text组件是什么?

一个用于显示文本的React组件,和iOS中的UILabel控件相似,用来专门显示基本的文本信息。并且它也支持嵌套、样式,以及触摸处理。

二、Text组件常用的属性方法

allowFontScaling   bool 是否根据‘文本大小’进行缩放

numberOfLines  number  用来当文本过长的时候裁剪文本

用来当文本过长的时候裁剪文本。包括折叠产生的换行在内,总的行数不会超过这个属性的限制。

color   s ring     字体颜色

containerBackgroundColor  string    背景色

fontFamily string    字体名称

fontSize number    字体大小

fontStyle enum('normal','italic')    字体风格

fontWeight enum("normal",'bold','100','200','300','400','500','600','700','800','900')    字体粗细

lineHeight number    行高

textAlign   enum("auto",'left','right','center')    文字居中方式

writingDirection enum("auto",'ltr','rtl')  文字方向

`textShadowOffset`设置阴影效果{width: number, height: number}

`textShadowRadius`  阴影效果圆角

`textShadowColor`  阴影效果的颜色

`textDecorationLine`  横线位置 ("none", 'underline', 'line-through', 'underline line-through')

`textDecorationStyle` 线的风格("solid", 'double', 'dotted', 'dashed')

`textDecorationColor` 线的颜色

`letterSpacing`  字符间距

onPress   fcuntion 函数  当文本被点击以后调用此回调函数

onLayout    function

当挂载或者布局变化以后调用,参数为如下的内容:

{nativeEvent: {layout: {x, y, width, height}}}

suppressHighlighting   bool

当为true时,如果文本被按下,则没有任何视觉效果。默认情况下,文本被按下时会有一个灰色的、椭圆形的高光。

三、Text的布局方式

元素在布局上不同于其它组件:在Text内部的元素不再使用flexbox布局,而是采用文本布局。这意味着内部的元素不再是一个个矩形,而可能会在行末进行折叠。

样式应用

运行结果:

三、Text样式的继承复用问题

3.1.复用问题

在React Native中,你必须把你的文本节点放在组件内。你不能直接在下放置一段文本并且你也不能直接设置一整颗子树的默认样式。使用一个一致的文本和尺寸的推荐方式是创建一个包含相关样式的组MyAppText,然后在你的App中反复使用它。你还可以创建更多特殊的组件譬如MyAppHeaderText来表达不同样式的文本。

3.2继承问题

React Native实际上还是有一部分样式继承的实现,:文字控制类的属性也是多重继承的,和css中是一样的。

运行结果:

上一篇 下一篇

猜你喜欢

热点阅读