React Native开发之——Flex布局

前言

React中引入了flexbox概念,flexbox是属于web前端领域CSS的一种布局方案,是2009年W3C提出了一种新的布局方案,可以简便、完整、响应式地实现各种页面布局。你可以简单的理解为flexbox是CSS领域类似Android中 LinearLayout的一种布局,但是要比 LinearLayout要强大的多。

本文主要讲述Flex布局,包含以下几个:

  • flexDirection
  • flexWrap
  • justifyContent
  • alignItems
  • flex

Flex布局

Flex布局概念


图是W3C Flexbox布局模型:

flexbox由伸缩容器和伸缩项目组成;任何一个元素都可以指定flexbox布局,伸缩容器的子元素可以称为伸缩项目;伸缩项目使用伸缩布局模型来排版;在默认情况下,伸缩容器由两根轴组成:主轴(main axis)和交叉轴(cross axis),主轴的开始位置叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end;伸缩项目在主轴上占据的空间叫做main size,在交叉轴上占据的空间叫做cross size;

React Native目前版本为0.54, 本文所用属性位于APIs->Layout Props下

flexDirection

属性说明

flexDirection控制主轴的方向,它有四个值:

  • ‘row’
  • ‘row-reverse’
  • ‘column’
  • ‘column-reverse’

 

代码

 

效果图

 

flexWrap

属性说明

flexWrap控制当子view到达末尾时是否绕行,它有两个值(默认是nowrap):

  • wrap
  • nowrap

 

代码

增加到12个Text

效果

flexWrap=nowrap时,如下:

 

flexWrap=wrap时,如下:

 

justifyContent

属性说明

justifyContent,用来定义伸缩项目沿主轴线的对其方式:,它有以下6个值:

  • flex-start
  • flex-end
  • center
  • space-between
  • space-around
  • space-evenly

 

代码

 

效果图

 

alignItems

属性说明

alignItems,用来定义交叉轴的对其方式:,它有以下5个值:

  • flex-start
  • flex-end
  • center
  • stretch
  • baseline

 

代码

 

效果图

 

flex

属性说明

flex(数值型的属性值):类似于Android中的layout-weight,用于收缩项目向右尽可能扩展。

代码

 

效果

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值