React Native 开发第三节之Flex

React Native跨平台开发实战指南 跨平台开发框架通过共享代码库实现在多个平台上的应用部署,大幅提升开发效率。React Native作为主流解决方案,采用JavaScript编写,通过桥接技术调用原生组件,兼具开发效率与原生性能。其核心价值在于支持iOS、Android和OpenHarmony三大平台,特别适合需要快速迭代的业务场景。本文以React Native 0.73为例,详解环境配置、核心组件、状态管理等关键技术点,并重点介绍鸿蒙生态适配方案。通过Flex布局优化和Hermes引擎等实践技巧,开发者可以构建高性能应用。热词显示,Re 阅读详情
Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。

注意:设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。
一:容器的6个属性对应设置在容器上

      1. flex-direction
      2. flex-wrap
      3. flex-flow
      4. justify-content
      5. align-items
      6. align-content
  1. flex-direction 属性决定主轴的方向(即项目的排列方向)
row主轴为水平方向,起点在左端→
row-reverse主轴为水平方向,起点在右端←
column主轴为垂直方向,起点在上沿↓
column-reverse主轴为垂直方向,起点在下沿↑
  1. flex-wrap 属性 默认情况下,项目都排在一条线(又称"轴线")上
nowrap(默认):不换行
wrap换行,第一行在上方
wrap-reverse换行,第一行在下方
  1. flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap,属性中间添加空格隔开

  2. justify-content属性定义了项目在主轴上的对齐方式。

flex-start(默认值):左对齐
flex-end右对齐
center居中
space-between两端对齐,项目之间的间隔都相等
space-around每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍
  1. align-items属性定义项目在交叉轴上如何对齐
flex-start交叉轴的起点对齐
flex-end交叉轴的终点对齐
center交叉轴的中点对齐
baseline项目的第一行文字的基线对齐
stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度

6.align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用

flex-start与交叉轴的起点对齐
flex-end与交叉轴的终点对齐
center与交叉轴的中点对齐
baseline项目的第一行文字的基线对齐
space-between与交叉轴两端对齐,轴线之间的间隔平均分布
space-around每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍
stretch(默认值):轴线占满整个交叉轴

二: 项目的6个属性对应设置在项目上

   1.order
   2.flex-grow
   3.flex-shrink
   4.flex-basis
   5.flex
   6.align-self
  1. order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。

    .item { 
              order: <integer>;
    }
    
  2. flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。如果所有项目的flex-grow属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的flex-grow属性为3,其他项目都为1,则前者占据的剩余空间将比其他项多两倍。

    .item {
              flex-grow: <number>; /* default 0 */
     }
    
  3. flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
    如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。负值对该属性无效。

    .item {
             flex-shrink: <number>; /* default 1 */
    }
    
  4. flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。它可以设为跟width或height属性一样的值(比如350px),则项目将占据固定空间。

     .item {
     	    flex-basis: <length> | auto; /* default auto */
    }
    
  5. flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。

     .item {
     		flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
    }
    
  6. align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch,该属性可能取6个值,除了auto,其他都与align-items属性完全一致。

     .item {
           align-self: auto | flex-start | flex-end | center | baseline | stretch;
     }
    

练手可去到这里小青蛙

React Native布局优化:Flex与样式表的应用 本文基于React Native框架的Avatar组件示例,深入探讨了flex布局属性以及StyleSheet的使用方法。文章首先介绍了flex布局的基本概念和核心属性,包括flex、flexDirection、justifyContent和alignItems,这些属性如何影响组件在不同屏幕尺寸下的自适应行为。随后,文章通过Avatar组件的实际案例,展示了如何利用flex属性和StyleSheet创建灵活且适应性强的用户界面。 阅读详情

相关推荐

ServiceNow Discovery & CMDB Interview Questions and Answers (2025)

【代码】ServiceNow Discovery & CMDB Interview Questions and Answers (2025)

weixin_47584092的博客 910

React Native Flex布局-基础

React Native flex布局 -弹性布局

JackieDYH的博客 2139

优惠券管理

(请设计一个优惠券兑换码生成方案,可以支持20亿以上的唯一兑换码,兑换码长度不超过10,只能包含字母数字,并且要保证生成和校验算法的高效)最后把签名值的后14位、新鲜值(4位)、自增序列(32位)拼接,得到一个50位二进制数,然后与一个较大的质数做异或运算加以混淆,再基于Base32或Base64转码,即可的对兑换码。现在,就剩下防止爆刷了。自增id从1增加到Integer的最大值,可以达到40亿以上个数字,而占用的字节仅仅4个字节,也就是32个bit位,距离50个bit位的限制还有很大的剩余,符合要求!

qq_36312661的博客 2206

React Native 样式布局基础知识

React Native 学习Flex布局知识点。

qq_33003143的博客 1577

UI-TARS桌面版模型部署

在 UI-TARS 中配置 VLM(视觉语言模型)模型,无论是选择云端(Hugging Face)还是本地(vLLM)部署,都需要经过一系列步骤,下面为你详细展开介绍。

二琳爱吃肉的博客 4540

华为无线AP+AC(ensp)

VLAN 100--192.168.100.0/24为AP的管理IP地址VLAN10--192.168.10.0/24为无线用户获取的IP地址在DHCP Server(LSW3)上查看地址分配情况。

abcdlalal的博客 1万+

React Native——flex(弹性布局)

flex,是flexible box的简称,意为弹性布局,在RN中是用来描述子组件在父组件中的对齐方式和相对位置,使其能够适应不同的屏幕,为界面布局带来更大的灵活性。 flex布局由flex container 和flex item组成。flex container分为主轴(main axis)和交叉轴(across axis)。主轴默认是竖直方向。 flex flex为弹性容器的属性,在css...

weixin_34191734的博客 311

Kali实战:构建安卓远程监控工具,实现拍照、定位与信息获取

本文详细介绍了如何使用Kali Linux构建安卓远程监控工具,实现拍照、定位与信息获取功能。通过Metasploit框架生成安卓载荷,部署到目标设备并建立连接,执行远程监控操作如获取位置信息、拍照和读取通讯录。文章还提供了进阶技巧与问题排查方法,强调法律与道德考量。

weixin_28716443的博客 239

ReactNative之Flex布局总结

ReactNative之Flex布局总结 从二月份开始学习ReactNative到现在已经有两个月了,零碎的记录了很多笔记,一直想写一些ReactNative相关的东西,奈何感觉自己学习的还比较浅陋,而且笔记比较杂乱,不知从何而起,所以迟迟没有动笔。清明三天假,决定无论如何都得整一篇出来。本来是想整一篇ReactNative布局篇的,但是看看那么多布局属性,自己对CSS又不是特别熟悉,布局篇从何谈起?所以,专门拿出ReactNative中布局比较重要的一个点Flex布局来做下总结,算是开启ReactNati

琦琦的博客 1081

AutoSAR系列讲解(入门篇)2.1-AppL概述

该章主要是讲解SWC是如何在ECU中分布的

雪云飞星的博客 4万+

AMBA-CHI协议详解(二)

读事务,写事务,原子事务,Stash事务,Dataless事务,DVM事务,Retry事务。

Crazzy_M的博客 6657

2.React Native Flex布局介绍以及实践

没有具体的介绍基本的语法,主要是说明了与标准的CSS Flex的一些区别以及一个实战的例子。如果你想学好Flex布局还是应该多多的写一些Demo。

Egos 的专栏 2732

Unreal 从入门到精通之VR常用操作

本文总结了使用Unreal5开发VR项目时遇到的常见问题及其解决方案。首先,介绍了如何通过VRPawn的TryTeleport函数设置玩家视角位置,确保头显移动时安全区域的正确传送。其次,详细说明了如何在Unreal中播放视频,包括导入视频文件、创建媒体播放器和媒体纹理,并将其应用到3D物体上。接着,讲解了如何播放VR全景视频,建议使用MediaPlate媒体板并调整几何体为球体。最后,讨论了如何手动打开和关闭VR模式,以便在PC模式和头显模式之间切换。这些方法为VR开发提供了实用的技术指导。

TxNet 953

ReactJS 101移动开发:用React Native构建跨平台原生应用的终极指南

想要学习如何用React Native快速构建跨平台移动应用吗?React Native作为Facebook推出的开源框架,让开发者可以使用JavaScript和React构建真正的原生移动应用。本文将为你提供完整的React Native入门指南,从环境搭建到项目部署,一步步教你掌握这个强大的移动开发工具。无论你是React新手还是有经验的Web开发者,都能通过本文快速上手React Nativ

gitblog_00952的博客 565

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

react-native中的flex和flexGrow异同点

react-native中的flex和flexGrow是否表现一致? 当父元素剩余空间充足时,flexGrow和flex都会使对应子元素对父元素的剩余空间进行划分 当父元素剩余空间不足时,flex即使设置了值,子元素的大小依然被限定在父元素空间内;而flexGrow会使子元素超越父元素的空间而维持子元素的本来大小。 总的来说,flex会使子元 素的空间

sweet___smile的博客 4124

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

react-native Flex布局

React Native 样式(style): 1.React Native中的FlexBox 和Web CSSS上FlexBox的不同之处: (1).flexDirection: React Native中默认为flexDirection:‘column’,在Web CSS中默认为flex-direction:‘row’ (2).alignItems: React Native中默认为alignItems:‘stretch’,在Web CSS中默认align-items:‘flex-start’ (3).

King_City的博客 474

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

React Native Style Tachyons:彻底改变React Native样式开发的终极方案

React Native Style Tachyons是一个为React Native应用提供更优样式解决方案的工具库,它通过实用类设计模式彻底改变了传统样式编写方式,让开发者能够以更高效、更一致的方式构建应用界面。无论是新手还是有经验的开发者,都能快速掌握并从中受益,显著提升开发效率和代码质量。 ## 为什么选择React Native Style Tachyons? 在传统的React N

gitblog_00852的博客 937

入门react-native——flex布局

一、flex属性:     1.1、flex父视图属性                                1.1.1、flexDirection:    定义View的主轴方向,在这个View下面的子元素会沿着主轴方向排列,可选方式:    row: 从左向右依次排列   row-reverse: 从右向左依次排列   column(default): 默认的排列方式,从上向下排列  ...

罗春娥的技术园 970

React-Native flex 布局使用总结

React-Native flex 布局使用总结 父视图属性(容器属性): flexDirection : 对子布局方向的设置 row : 从左到右依次排列 row-reverse :从右向左依次排列 column:(default) 从上到下排列 column-reverse :从下到上排列 flexWrap: 定义子布局是否在父布局中多行排列 wrap: 允许多行排列 ...

wilson的专栏 332

[深入剖析React Native]React Native Flexbox属性讲解

React Native通过一个基于Flexbox的布局引擎,在所有移动平台上实现了一致的跨平台样式和布局方案。主要属性 flex flexDirection alignSelf alignItems justifyContent flexWrap 属性讲解flex当一个元素定义了flex属性时,表示该元素是可伸缩的(flex的属性值大于0的时候才可伸缩)。class FlexboxReact ex

Geek马走日 2552

React Native Table Component组件详解:Table、Row、Col、Cell核心API完全解析

react-native-table-component是一个专为React Native开发的轻量级表格组件库,提供了Table、Row、Col、Cell等核心API,让开发者能够快速构建功能完善的表格界面。无论是数据展示、报表生成还是复杂布局,这个组件都能满足你的需求,帮助你轻松实现各种表格效果。 ## 为什么选择react-native-table-component? 在移动应用开发中

gitblog_00437的博客 1109

React Native Airbnb Clone:React Native Vector Icons图标集成指南

React Native Airbnb Clone是一个使用React Native和Redux构建的Airbnb克隆应用,本指南将详细介绍如何在该项目中集成和使用React Native Vector Icons图标库,帮助开发者快速实现专业级的图标展示效果。 ## 为什么选择React Native Vector Icons React Native Vector Icons是React

gitblog_00482的博客 1132

深入理解react native布局(一)居中

刚刚做完了一个项目,基本上把react native各种布局方式都用上了,发现了很多坑,也学会和很多,这里给大家分享一下哈。 首先我们要有个概念:react native里面是兼容大部分我们在css里面用到的布局方式,此外接触过css里面flex布局方式的话,我们会发现react native内的flex布局方式基本上和 css里的flex布局方式类似,所以不要觉得react native

xsgkaka的专栏 2万+

React Native for OpenHarmony 实战:三方库 react-native-card-view 的鸿蒙化适配指南

本文记录将极简库 react-native-card-view(130行,零依赖)适配HarmonyOS的全过程。虽代码老旧(2016年),但兼容React 19且无需原生适配。核心问题在于CardAction的Separator默认样式含flex: 1,在ScrollView中导致卡片被撑至2080vp,引发布局失控。通过自定义styles={{card:{flex:0}}}可规避。全量测试30例通过,无需HAR、权限或额外依赖,仅需简单引入即可使用。

passion098的博客 1199

React Native QR Code扫描终极方案:react-native-qrcode-scanner-view完全指南

react-native-qrcode-scanner-view是一个高度可定制的React Native二维码扫描组件,基于react-native-camera构建,支持Android和iOS平台,让开发者能够轻松实现专业级的二维码扫描功能。 ## 为什么选择react-native-qrcode-scanner-view? 这款组件凭借以下优势成为React Native开发者的首选二维

gitblog_00715的博客 989

@emotion/native 实战指南:用 Emotion 为 React Native 组件书写高性能样式

`@emotion/native` 是 Emotion 官方为 React Native 生态提供的样式方案,它让你在 RN 组件上沿用 Web 端熟悉的 `styled` 与 `css` 写法,把 CSS-in-JS 的组件化、主题化能力带进移动端。本文以 [packages/native/README.md](https://link.gitcode.com/i/b654bd6c5e4e223

gitblog_00052的博客 712
上一篇: ReactNative之 Activity class {xxx/xxx.MainActivity} does not exist
下一篇: CSS 简介
jhonjson
博客等级 码龄11年 220粉丝 195原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值