React-Native学习,RN的容器Flex-Box布局

这篇具有很好参考价值的文章主要介绍了React-Native学习,RN的容器Flex-Box布局。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

justify-content(在RN中属性名称为:justifyContent)在主轴上对齐方式

align-items(在RN中属性名称为:alignItems)在交叉轴上的对齐方式

在React Native中,当没有设置容器的主轴方向时,默认容器主轴方向为:flexDrection: 'column',也就是说,当我们的容器的主轴的排布方向为竖直方向时,这时我们可以省略不写flexDirection属性


一.什么是FlexBox布局

flexbox是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。采用flex布局的元素,称为flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为flex项目(flex item),简称"项目"。

下面FlexBox伸缩布局示例图:

rn flex 布局,学习,react native,react.js

 Flex容器默认存在两根轴:

水平方向的主轴,与主轴垂直方向的交叉轴。
主轴的排布方向是从左至右,交叉轴的排布方向是从上至下,Flex容器中的Item元素默认是按照主轴方向进行排序,Item占据主轴空间称为main size,Item占据交叉轴空间称为cross size

 

二.主要使用的flex容器属性:

1.flex-direction(在RN中属性名称为:flexDirection)

  • column:主轴为竖直方向,起点在上沿
  • column-reverse:主轴为竖直方向,起点在下沿
  • row:主轴为水平方向,起点在左端
  • row-reverse:主轴为水平方向,起点在右端

rn flex 布局,学习,react native,react.js

注意:在React Native中,当没有设置容器的主轴方向时,默认容器主轴方向为:flexDrection: 'column',也就是说,当我们的容器的主轴的排布方向为竖直方向时,这时我们可以省略不写flexDirection属性

2.flex-wrap(在RN中属性名称为:flexWrap)

默认情况下,容器中的Item元素都排列在一条轴线上,flex-wrap属性定义了如果在一条轴线上排列不下所有的Item元素,可以进行换行排列

rn flex 布局,学习,react native,react.js

  • wrap 换行
  • nowrap 不换行
  • wrap-reverse 换行第一行在下方

 rn flex 布局,学习,react native,react.js

3.justify-content(在RN中属性名称为:justifyContent)在主轴上对齐方式 

  • flex-start(默认值):左对齐
  • flex-end:右对齐
  • center:居中
  • space-between:两端对齐,Item之间的间隔都相等
  • space-around:每个Item两侧的间隔相等。Item之间的间隔比Item与边框的间隔大一倍

 rn flex 布局,学习,react native,react.js

 4.align-items(在RN中属性名称为:alignItems)在交叉轴上的对齐方式

  • flex-start:(默认值)交叉轴的起点对齐
  • flex-end:交叉轴的终点对齐
  • center:交叉轴的中点对齐
  • baseline: 项目的第一行文字的基线对齐
  • stretch:如果项目未设置高度或设为auto,将占满整个容器的高度

rn flex 布局,学习,react native,react.js

 

三.主要使用的项目(Item)属性

1.flex

RN中使用flex: 1:当只有一个元素使用flex:1 则这个元素将充满整个屏幕,当有多个元素使用flex: 1 则这多个元素平分屏幕空间大小

2.alignSelf 项目自身交叉轴对齐方式

除了增加一个auto属性,其他都与align-items属性完全一致,具体的对齐方式与交叉轴的方向有关,下面假设交叉轴方向从上到下

  • flex-start:(默认值)交叉轴的起点对齐
  • flex-end:交叉轴的终点对齐
  • center:交叉轴的中点对齐
  • baseline: 项目的第一行文字的基线对齐
  • stretch:如果项目未设置高度或设为auto,将占满整个容器的高度

 覆盖alignitems,定义其控件自身的不同

rn flex 布局,学习,react native,react.js

参考链接:

 https://www.jianshu.com/p/e28ae6218852

http://chat.xutongbao.top/ 文章来源地址https://www.toymoban.com/news/detail-570232.html

到了这里,关于React-Native学习,RN的容器Flex-Box布局的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • React Native RN state props

    state:  是RN 专门用来标识是否重新渲染,通过属性的值来更新数据,React 内部会监听 state 的变化,一旦发生变化就会主动触发组件的 render() 方法来更新 Dom 结构,另外state是组件私有的,是没有办法通过其他组件传递过来的。 setState() 方法会把对组件 state 的改变加入到队列

    2024年02月15日
    浏览(51)
  • React-Native: Android 编译过程中 gradle 依赖包下载各种下载不下来、下载超时、极慢下载的处理方案。

     报错提示如下 1、下载不下来、下载超时。   2、下载极慢,基本就是几KB的在慢慢下载。  解决方案 就以报错提示来看,提供的下载jar压缩包的链接,丢到浏览器也是很难下载的。 但是,我们可以换个仓库去下载 https://mvnrepository.com/ 1、浏览器打开上面的链接 2、输入框搜

    2024年02月02日
    浏览(62)
  • react-Native init初始化项目报错”TypeError: cli.init is not a function“

    在react-native init appDemo 创建项目时,报错TypeError: cli.init is not a function。 产生这个问题的原因是:使用这种方式创建工程,react-native版本是0.69 版本上不适用。可以检查下自己安装的React-native的版本。 使用: npx react-native init Demo --version 0.68.2 即可。 解决方法不好用的话,那就

    2024年02月15日
    浏览(44)
  • [快速上手RN] 3. React native 制作底部导航栏 Bottom Tab Bar

    [快速上手RN] 0.React Native 快速启动项目 [快速上手RN] 1. React native 项目集成UI Kitten [快速上手RN] 2. React native 项目色彩主题色编辑及使用 [快速上手RN] 3. React native 制作底部导航栏 Bottom Tab Bar [快速上手RN] 4. React native 集成redux 首先我们确认目标 在APP底部新增一个导航栏 导航栏点

    2024年02月05日
    浏览(50)
  • 求助帖:React Native failed installing Ruby Gems(rn 下载 Runby Gems 失败)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 react native当前版本0.72.4,官方文档也是最新的, macos:13.3。 最近要用RN做一个项目,参照官方文档链接: link 已经完成了前期的配置工作,直到最后一步创建AsomeProject示例项目时候,RN下载依赖卡在Inst

    2024年02月07日
    浏览(45)
  • 【RN】学习使用 Reactive Native内置UI组件

    当把导航处理好后,就可以学习使用ui组件了(两者没有先后关系,个人习惯)。 在 Android 和 iOS 开发中,一个视图是 UI 的基本组成部分:屏幕上的一个小矩形元素、可用于显示文本、图像或响应用户输入。甚至应用程序最小的视觉元素(例如一行文本或一个按钮)也都是各

    2024年02月22日
    浏览(43)
  • React Native+小程序容器=更高的开发效率

    React Native是由Facebook开发并于2015年首次发布的一个框架,用于构建原始的移动应用程序。 它具有许多技术上的优势: 跨平台开发:使用React Native,您可以使用相同的代码库构建同时运行在iOS和Android平台上的应用程序。这种跨平台的开发方式可以大大减少开发工作量和时间成

    2024年02月08日
    浏览(34)
  • 【React Native】学习记录(一)——环境搭建

    Expo是一套工具,库和服务,可让您通过编写JavaScript来构建原生iOS和Android应用程序。 一开始学习的时候直接使用的是expo。 接下来需要搭建安卓和IOS端(为此特意换成了苹果电脑),主要参考的是 这里。 先说说比较容易大家的苹果系统:(在此之前记得先安装node) 可以通过

    2024年02月15日
    浏览(33)
  • 【React Native】学习记录(二)——路由搭建和常见的开发技巧

    在开发过程中发现,两个模拟器都不能输入中文,所以需要配置一下。 先说一下安卓,在弹出的输入框中查看设置,设置一下对应的 languages 即可: 在苹果模拟器中,跟苹果手机一样,打开设置,然后打开通用,同样设置语言: 我在这里走了弯路,去了另一个库…,路由文

    2024年02月15日
    浏览(44)
  • React、Umi、RN 整体理解

    可以少去理解一些不必要的概念,而多去思考为什么会有这样的东西,它解决了什么问题,或者它的运行机制是什么? React 是用于构建用户界面的 JavaScript 库 ,起源于 Facebook 的内部项目,该公司对市场上所有 JavaScript MVC 框架都不满意,决定自行开发一套,用于架设 Instagr

    2024年02月05日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包