RN彈性布局基礎篇

2021-08-20 08:46:39 字數 1552 閱讀 1264

reactnative 中, 可以使用 css3 的 flex布局, 使用方法基本一樣, 並且rn中,都是支援的.

reactnative 不支援百分比的寬度, 因此 設定寬度的時候,不需要寫 單位

style=}>

view>

q: 既然不需要寫單位, 那麼 100 指的是啥呢? 100px 還是 100pt?

單位是 pt
q: 如何獲取實際畫素?(高畫質化很重要,100100的,如果寬高設定為100100 , 就會模糊,因為螢幕 高清屏)

寬高設定為100 * 100 ,要求是 100 * pixelratio

//react 提供了pixelratio 的獲取方式

var image = getimage();

source=

style=} />

q: div不設定寬度, 會佔 100% ,那麼 rn中的 text, view 等之類的呢?

不設定寬度, 預設100%佔滿容器

q: 水平 垂直 居中

alignitems: 『center』, //水平居中

justifycontent: 『center』 //垂直居中

style=>

水平垂直居中

text>

style=}>

style=}/>

view>

總結

react 寬度基於pt為單位, 可以通過dimensions 來獲取寬高,pixelratio 獲取密度,如果想使用百分比,可以通過獲取螢幕寬度手動計算。

基於flex的布局

view預設寬度為100%

水平居中用alignitems, 垂直居中用justifycontent

基於flex能夠實現現有的網格系統需求,且網格能夠各種巢狀無bug

布局 通過image.resizemode來適配布局,包括contain, cover, stretch

預設不設定模式等於cover模式

contain模式自適應寬高,給出高度值即可

cover鋪滿容器,但是會做擷取

stretch鋪滿容器,拉伸

定位 定位相對于父元素,父元素不用設定position也行

padding 設定在text元素上的時候會存在bug。所有padding變成了marginbottom

文字元素

文字必須放在text元素裡邊

text元素可以相互巢狀,且存在樣式繼承關係

numberoflines 需要放在最外層的text元素上,且雖然擷取了文字但是還是會占用空間

react-native 之布局篇 2015-07-22

RN 基礎 之FlexBox彈性布局

彈性盒模型 the flexible box module 又叫flexbox,意為 彈性布局 旨在通過彈性的方式來對齊和分布容器中內容的空間,使其能適應不同的螢幕,為盒裝模型提供最大的靈活性。flexbox在大部分情況下都是處理item在container中位置和尺寸的關係。flexbox在布局中...

Flutter 基礎篇(十三) 彈性布局

彈性布局,不是flutter特有的一種布局方式,在前端的各個領域中都存在,比如瀏覽器端通過flex來實現彈性布局。在flutter中,主要通過flex和expanded來實現彈性布局。flex元件可以沿著水平或垂直方向排列的子元件,如果你明確了主軸的方向,那麼更加應該使用row或column來代替f...

響應式布局與彈性布局基礎篇

響應式布局是ethan marcotte在2010年5月份提出的乙個概念,簡而言之,就是乙個 能夠相容多個終端 而不是為每個終端做乙個特定的版本。這個概念是為解決移動網際網路瀏覽而誕生的。響應式布局可以為不同終端的使用者提供更加舒適的介面和更好的使用者體驗,而且隨著目前大螢幕移動裝置的普及,用 大勢...