布局可谓是前端最最基础的知识了,但是也是最常用的知识。
此文自己存留,方便以后查找属性
在IOS开发中有storyboard
+Auto Layout
,在Android开发中有LinearLayout
,RelativeLayout
…。那么在ReactNative开发中也有着自己的一套布局方式,就是flexbox
,使用方式和Android中的LinearLayout
有些相似,但是实现的功能更为强大。ReactNative这一套布局方式是通过web继承过来的,只不过阉割了部分属性。
属性
- alignItems
- alignSelf
- justifyContent
- flexDirection
- flexWrap
名称 | 属性 |
---|---|
alignItems | flex-start , flex-end , center , stretch |
alignSelf | auto , flex-start , flex-end , center , stretch |
justifyContent | flex-start , flex-end , center , space-between , space-around |
flexDirection | row , column |
flexWrap | wrap , nowrap |
掌握以上属性基本都能完成所有的布局。下面是我见到过最通俗易懂的理解图
来自于勾三股四
需要记住的ailgnItmes
和justifyContent
都是表示对齐方式的,ailgnItmes
表示主轴,justifyContent
表示侧轴。这个主轴是根据flexDirection
的属性决定的。ailgnItmes
和alignSelf
有相同的功能,不过不同点是它是用来让每一个单行的容器居中而不是让整个容器居中。
flexDirection
表示元素在View中的排列顺序,和LinearLayout
中的orientation
差不多了。
flexWrap
用来约束元素超出父容器的时候是否换行。