React Native 学习之Text组件

/**
* @Author: fantasy
* @Date:   2016-06-15T15:52:24+08:00
* @Last modified by:   fantasy
* @Last modified time: 2016-06-15T17:31:12+08:00
*/

import React, {Component} from 'react'
import {
  View,
  Dimensions,
  Text,
} from 'react-native';

var {width:ScreenW, height:ScreenH} = Dimensions.get('window');

export default class TestImageView extends React.Component{

  _textOnLayout(param){
    console.log(param);
    //打印结果为:{ y: 308.5, x: 0, width: 375, height: 50.5 }
  }
  _textOnPress(param){
    console.log(param);
  }

  render(){
    var testID = 'myLearnText';
    return(
      <View style={{flex:1}}>
        <View style={{height:ScreenH/2,justifyContent:'center'}}>
           <Text>{'writingDirection是ltr的样式'}</Text>
        </View>
        <Text   style={{width:ScreenW,fontSize:17,fontStyle:'italic',fontWeight:'100',letterSpacing:1,lineHeight:15}}
                numberOfLines = {3}
                testID ={testID}
                onLayout={(e)=>{this._textOnLayout(e.nativeEvent.layout)}}
                onPress ={()=>{this._textOnPress(testID)}}
                suppressHighlighting ={true}
                allowFontScaling={false}>
         {'当火车开入这座陌生的城市,那是从来就没有见过的霓虹,我打开离别时你送我的信件,忽然感到无比的思念,看不见雪的冬天不夜的城市,我听见有人欢呼有人在哭泣,早习惯穿梭冲满诱惑的黑夜,但却无法忘记你的脸,有没有人曾告诉你我很爱你,有没有人曾在你日记里哭泣,有没有人曾告诉你我很在意,在意这座城市的距离'}
        </Text>

        <Text   style={{width:ScreenW,marginTop:100,fontSize:17,fontStyle:'normal',fontWeight:'100',lineHeight:25,textAlign:'justify',textAlignVertical:'center',textDecorationColor:'red',textDecorationStyle:'dotted',textDecorationLine:'underline',writingDirection:'ltr'}}
                numberOfLines = {3}
                testID ={testID}
                onLayout={(e)=>{this._textOnLayout(e.nativeEvent.layout)}}
                onPress ={()=>{this._textOnPress(testID)}}
                allowFontScaling={false}>
         {'当火车开入这座陌生的城市,那是从来就没有见过的霓虹.'}
        </Text>
      </View>
  );
  }


/*
numberOfLines: 和iOS的UILabel的numberOfLine是一个意思,就是说文字适应组件的宽度的时候,如果文字宽度比组件宽度大,用这个属性来决定Text的行数
onLayout:当这个Text组件布局发生变化的时候,调用这个方法。
onPress: 当这个Text组件被点击以后,会调用这个函数。
testID: 官方解释说是‘用来在端到端测试中标记这个视图’,两个Text组件可以是一个textID,不会报错。
suppressHighlighting:默认为false,在默认情况下按下这个Text会有一个灰色的,椭圆形的高光。当为true时,Text被按下,则没有任何视觉效果。
style:是对这个Text组件的一个装饰,除了View组件的一个style之外,它还有自己的一些特有的属性。
      color:文字的颜色,和iOS的TextColor一样,
      fontFamily:字体的类型,比如word文档中的宋体楷体之类的,
      fontSize:字体的大小
      fontStyle:斜体和正常
      letterSpacing:字与字之间的间隙,
      lineHeight:每一行的高度,当行高大于字体的时候,字体会在组件的下面,行高20,字体是17的例子
      textAlign:是左对齐 和右对齐。justify只支持iOS
      textAlignVertical:只支持安卓  


      textDecorationLine:这三个属性基本上是套在一起的,没有这个属性,其他两个属性设置了,也没用
      textDecorationStyle:
      textDecorationColor:


      writingDirection:这个属性是决定第二行是从左还是从右开始

我学习React Native的github是 https://github.com/wkffantasy/learningReact_native 欢迎大家来指正错误,共同学习

*/

}

以下图片是其他属性的一些对比


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Native 中,我们可以使用基本的组件和自定义组件来构建应用程序界面。以下是使用基本组件和自定义组件的示例: 使用基本组件: ```jsx import React from 'react'; import { View, Text, StyleSheet } from 'react-native'; const App = () => { return ( <View style={styles.container}> <Text style={styles.text}>Hello, React Native!</Text> </View> ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, text: { fontSize: 20, fontWeight: 'bold', }, }); export default App; ``` 使用自定义组件: ```jsx import React from 'react'; import { View, Text, StyleSheet } from 'react-native'; const MyComponent = ({ title, message }) => { return ( <View style={styles.container}> <Text style={styles.title}>{title}</Text> <Text style={styles.message}>{message}</Text> </View> ); }; const App = () => { return ( <View style={styles.container}> <MyComponent title="Welcome" message="This is a custom component in React Native." /> </View> ); }; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, title: { fontSize: 24, fontWeight: 'bold', }, message: { fontSize: 16, marginVertical: 10, }, }); export default App; ``` 在上面的示例中,我们定义了一个名为`MyComponent`的自定义组件,并将其作为子组件添加到`App`组件中。在`MyComponent`组件中,我们可以使用`props`来接收来自父组件的数据,并根据需要渲染内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值