React-native FlexBox初识

前端之家收集整理的这篇文章主要介绍了React-native FlexBox初识前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

看到flexBox感觉非常不错,特记之,参考链接http://www.cnblogs.com/miaomiaoshen/p/6006971.html

  1. import React,{ Component } from 'react';
  2. import {
  3. AppRegistry,StyleSheet,Image,Text,View,} from 'react-native';
  4.  
  5. // 导入Dimensions库
  6. var Dimensions = require('Dimensions');
  7.  
  8. export default class firstProgram extends Component {
  9. render() {
  10. // var movie = MOCKED_MOVIES_DATA[0];
  11. return (
  12. <View style={styles.container}>
  13. <View style={styles.subViewStyle1}></View>
  14. <View style={styles.subViewStyle2}></View>
  15. <View style={styles.subViewStyle3}></View>
  16. </View>
  17.  
  18.  
  19.  
  20. );
  21. }
  22. }
  23.  
  24.  
  25. // 样式
  26. const styles = StyleSheet.create({
  27. container: {
  28. backgroundColor:'blue',height:Dimensions.get('window').height,width:Dimensions.get('window').width,// 设置主轴方向
  29. flexDirection:'row'
  30. },subViewStyle1: {
  31. backgroundColor:'red',height:60,width:60,},subViewStyle2: {
  32. backgroundColor:'yellow',subViewStyle3: {
  33. backgroundColor:'green',});

效果图:

FlexBox属性

  • flexDirection(该属性决定了项目排列的方向,也就是主轴的方向)
    • row:主轴为水平方向,起点在左端
  1. // 设置主轴方向
  2. flexDirection:'row'

效果图:

  • row-reverse:主轴为水平方向,起点在右端
  1. // 设置主轴方向
  2. flexDirection:'row-reverse'

效果图:

  • column(默认):主轴为垂直方向,起点在上
  1. // 设置主轴方向
  2. flexDirection:'column'

效果图:

- column-reverse:主轴为垂直方向,起点在下

  1. // 设置主轴方向
  2. flexDirection:'column-reverse'

效果图:


  • justifyContent(定义伸缩项目在主轴线的对齐方式)
    • flex-start(默认):伸缩项目向一行的起始位置靠齐
  1. // 设置子项目在主轴上的对齐方式
  2. justifyContent:'flex-start'

效果图:

  • flex-end:伸缩项目向一行的结束位置靠齐
  1. // 设置子项目在主轴上的对齐方式
  2. justifyContent:'flex-end'

效果图:

  • center:伸缩项目向一行的中间位置靠齐
  1. // 设置子项目在主轴上的对齐方式
  2. justifyContent:'center'

效果图:

  • space-between:两端对齐,项目之间的间隔都相等
  1. // 设置子项目在主轴上的对齐方式
  2. justifyContent:'space-between'

效果图:

  • space-around:伸缩项目会平均分布在行内,两端保留一半的空间
  1. // 设置子项目在主轴上的对齐方式
  2. justifyContent:'space-around'

效果图:


  • alignItems(定义项目在交叉轴上如何对齐,可以把它看成侧轴(垂直于主轴)的对齐方式)
    • flex-start(默认):侧轴轴的起点对齐
  1. // 设置项目在侧轴上如何对齐
  2. alignItems:'flex-start'

效果图:

  • flex-end:
  1. // 设置项目在侧轴上如何对齐
  2. alignItems:'flex-end'

效果图:

  • center:侧轴的中点对齐
  1. // 设置项目在侧轴上如何对齐
  2. alignItems:'flex-center'

效果图:

- stretch(默认):如果项目没有设置高度或设置为 auto,将占满整个容器高度

  1. // height:Dimensions.get('window').height,// width:Dimensions.get('window').width,// 设置项目在侧轴上如何对齐
  2. alignItems:'flex-stretch'

效果图:

  • flexWrap(默认情况下,项目都排在一条轴线上,flex-wrap属性定义如果一条轴线排不下,如何换行)
    • nowrap(默认):不换行
  1. <View style={styles.container}>
  2. <View style={styles.subViewStyle1}></View>
  3. <View style={styles.subViewStyle2}></View>
  4. <View style={styles.subViewStyle3}></View>
  5. <View style={styles.subViewStyle1}></View>
  6. <View style={styles.subViewStyle2}></View>
  7. <View style={styles.subViewStyle3}></View>
  8. <View style={styles.subViewStyle1}></View>
  9. <View style={styles.subViewStyle2}></View>
  10. <View style={styles.subViewStyle3}></View>
  11. </View>
  1. height:Dimensions.get('window').height,width:Dimensions.get('window').width,// 设置主轴方向
  2. flexDirection:'row',// 设置换行的方式
  3. flexWrap:'nowrap'

效果图:

  • wrap:换行,第一行在上方
  1. height:Dimensions.get('window').height,// 设置换行的方式
  2. flexWrap:'wrap'

效果图:


  • alignSelf(允许单个项目有与其它项目不一样的对齐方式,可覆盖 align-items属性
    • auto(默认):继承父元素的alignItems属性,如果没有则切换为stretch
  1. alignSelf:'auto'

效果图:

  • flex-start:项目从侧轴的起点开始
  1. alignSelf:'flex-start'

效果图:

- flex-end:项目从侧轴的终点开始

  1. alignSelf:'flex-end'

效果图:

- center:项目以侧轴的中心为参照

  1. alignSelf:'center'

效果图:

- stretch

  1. alignSelf:'stretch'

效果图:

猜你在找的React相关文章