React Native - Flex布局

React Native - Flex布局

Flex布局概述

概念:彈性盒子布局


歷史:性盒模型,該布局方案由W3C于2009年提出,此后,Flex方案便歷經(jīng)v2009,v2011,v2012,v2014,v2015,v2016等版本,目前方案是2016年5月26日起草的

優(yōu)勢(shì):Flex布局使得子項(xiàng)目能夠”彈性”的改變其高寬,自由填充容器剩余空間,以適應(yīng)容器變大,或者壓縮子項(xiàng)目自身以適應(yīng)容器変小;同時(shí)還可以方便的調(diào)節(jié)子項(xiàng)目方向和順序。fex常用于高寬需要自適應(yīng),或子項(xiàng)目大小成比例或水平垂直對(duì)齊等場(chǎng)景,幾乎可以勝任99%的布局場(chǎng)景,都可以通過(guò)樣式屬性來(lái)解決。

Flex布局與Android五大布局對(duì)比

優(yōu)勢(shì):不用重寫(xiě)復(fù)雜的布局標(biāo)簽,父容器屬性可以傳遞給子控件,子控件也可根需求進(jìn)行相應(yīng)更改,布局非常靈活

flex屬性

當(dāng)布局當(dāng)前層級(jí)只有一個(gè)元素時(shí)設(shè)置flex:1相當(dāng)于
android: layout_width=match_parent
android: layout_height="wrap_content
相當(dāng)于android:layout_weight="1"屬性(可理解成權(quán)重)

flexDirection屬性

flex-direction屬性決定主軸的方向(即項(xiàng)目的排列方向)。

flex-direction 描述
column(默認(rèn)) 豎向排列,起點(diǎn)在上沿
column-reverse 豎向排列,起點(diǎn)在下沿
row 橫向排列,起點(diǎn)在左端
row-reverse 橫向排列,起點(diǎn)在右端

備注:主軸交叉軸是有方向的,方向規(guī)定者起始方向

justifyContent屬性

justify-content屬性定義了項(xiàng)目在主軸上的對(duì)齊方式。

這里假設(shè)是垂直排列(由flexDirection決定)

justifyContent 描述
flex-start(默認(rèn)) 集中在最上方
center 整體豎向居中
flex-end 集中在最下方
space-around 均勻分布
space-between 均勻鋪滿(mǎn)

alignItems屬性

alignItems:指交叉軸的位置

alignItems 描述
flex-start(默認(rèn)) 集中在最左邊
center 整體橫向居中
flex-end 集中在最右邊
stretch 水平撐滿(mǎn),子組件不能設(shè)置固定的width

備注:RN里alignItems屬性默認(rèn)是flex-start,其他地方好像是默認(rèn)stretch

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Flex是Flexible Box的縮寫(xiě),意為"彈性布局",用來(lái)為盒狀模型提供最大的靈活性。Flex布局主要思想是...
    賈里閱讀 1,142評(píng)論 0 0
  • RN的布局采用的是Flex,彈性盒模型。 有四個(gè)主要屬性:flex、flexDirection、justifyCo...
    考特林閱讀 11,339評(píng)論 2 10
  • 為了解決寫(xiě)RN的時(shí)候 總是會(huì)遇到 ‘應(yīng)該是這樣寫(xiě)’的問(wèn)題 所以呢 打算徹底的把布局知識(shí)研究一下。 準(zhǔn)備大招中......
    _一葉孤帆閱讀 1,556評(píng)論 0 0
  • 在React-Native中使用flexbox規(guī)則來(lái)指定某個(gè)組件的子元素的布局。Flexbox可以在不同屏幕尺寸上...
    Coder_Answer閱讀 1,641評(píng)論 1 2
  • React Native flex 布局使用總結(jié) 父視圖屬性(容器屬性): flexDirection : 對(duì)子...
    HitlerCoding閱讀 952評(píng)論 0 3

友情鏈接更多精彩內(nèi)容