美文网首页
reactnative学习-布局

reactnative学习-布局

作者: 码字农民工 | 来源:发表于2018-04-30 14:57 被阅读132次

该系列文章记录下我学习reactnative的一些知识,如果有不对的地方请指出来。

前言

本文章记录下React Native中的布局方式FlexBox。
在React Native中布局采用的是FleBox(弹性框)进行布局。

需要注意的是在reactnative上面的尺寸是没有单位的,
width:100,height:100
在安卓上运行,会被解析成dp,在ios上会被解析成pt。
下面我们正式开始reactnative的布局学习。

Flex

我们先引入一张图来看下

image
通过该图我们可以看出来横向布局在reactnative上面被成为主轴,纵向布局被称为侧轴。

父视图属性(容器属性)

我们先来上一张表看下父视图有哪些属性。

属性 含义
flexDirection 父视图中的子元素的排序方式
flexWrap 是否允许子元素多行排列
justifyContent 子元素在父视图的主轴排序方式
alignItems 子元素在父视图的侧轴排序方式

下面我们对其属性进行一一的讲解

flexDirection

含义
column默认 排列方式,从上向下排列
column-reverse 从下向上排列
row 从左向右依次排列
row-reverse 从右向左依次排列

flexWrap

含义
nowrap默认 元素只排列在一行上,可能导致溢出
wrap 元素在一行排列不下时,就进行多行排列

justifyContent

含义
flex-start默认 元素在主轴上靠左排列,并且第一个元素与行首对齐
flex-end 元素在主轴上靠右排列,并且最后一个元素与行尾对齐
center 元素在主轴上居中排列
space-between 元素在主轴上平均分配,并且第一个元素与行首对齐,最后一个元素与行尾对齐
space-around 元素在主轴上平均分配,并且第一个元素与行首距离,最后一个元素与行尾距离为每个元素之间距离的一半

alignItems

含义
flex-start默认 元素向侧轴起点对齐
flex-end 元素向侧轴终点对齐
center 元素在侧轴居中
stretch 弹性元素被在侧轴方向被拉伸到与容器相同的高度或宽度

子视图属性

属性 含义
alignSelf 子元素位于父视图的位置
flexWrap 位于父视图的所占比重。类似于android中的linerlayout

alignSelf

含义
auto默认 继承了它的父视图的 align-items 属性。如果没有父视图则为stretch
stretch 元素被拉伸以适应父视图
center 元素位于父视图的中心
flex-start 元素位于父视图的开头
flex-end 元素位于父视图的结尾

flex

含义
number类型 位于父视图的所占比重

其他布局

视图边框

属性 类型 含义
borderBottomWidth number 底部边框宽度
borderLeftWidth number 左边框宽度
borderRightWidth number 右边框宽度
borderTopWidth number 顶部边框宽度
borderWidth number 边框宽度
borderColor color 边框颜色
borderRadius number 边框圆角角度

尺寸

属性 类型 含义
width number 控件的宽度
height number 控件的高度

内边距

属性 类型 含义
padding number 内边距
paddingHorizontal number 左右内边距
paddingVertical number 上下内边距
paddingLeft number 左内边距
paddingRight number 右内边距
paddingTop number 上内边距
paddingBottom number 下内边距

外边距

属性 类型 含义
margin number 外边距
marginHorizontal number 左右外边距
marginVertical number 上下外边距
marginLeft number 左外边距
marginRight number 右外边距
marginTop number 上外边距
marginBottom number 下外边距

position

含义
absolute 绝对定位
relative 相对定位

边缘

属性 类型 含义
left number 当position为absolute时,距离父布局的左边距,当position为relative时,距离上一个元素的左边距
right number 当position为absolute时,距离父布局的右边距,当position为relative时,距离上一个元素的右边距
top number 当position为absolute时,距离父布局的上边距,当position为relative时,距离上一个元素的上边距
bottom number 当position为absolute时,距离父布局的下边距,当position为relative时,距离上一个元素的下边距

阴影

属性 类型 含义
shadowColorios color 阴影颜色
shadowOffsetios width: number, height: number 阴影的宽高
shadowOpacityios number 阴影的透明度
shadowRadiusios number 阴影的角度
elevationAndroid number 阴影在z轴的高度

相关文章

网友评论

      本文标题:reactnative学习-布局

      本文链接:https://www.haomeiwen.com/subject/jivzlftx.html