高度与宽度
组件的高度和宽度决定了其在屏幕上显示的尺寸。
指定宽高
最简单的给组件设定尺寸的方式就是在样式中指定固定的width
和height
。React Native 中的尺寸都是无单位的,表示的是与设备像素密度无关的逻辑像素点。
这样给组件设置尺寸也是一种常见的模式,比如要求在不同尺寸的屏幕上都显示成一样的大小。
弹性(Flex)宽高
在组件样式中使用flex
可以使其在可利用的空间中动态地扩张或收缩。一般而言我们会使用flex:1
来指定某个组件扩张以撑满所有剩余的空间。如果有多个并列的子组件使用了flex:1
,则这些子组件会平分父容器中剩余的空间。如果这些并列的子组件的flex
值不一样,则谁的值更大,谁占据剩余空间的比例就更大(即占据剩余空间的比等于并列组件间flex
值的比)。
组件能够撑满剩余空间的前提是其父容器的尺寸不为零。如果父容器既没有固定的
width
和height
,也没有设定flex
,则父容器的尺寸为零。其子组件如果使用了flex
,也是无法显示的。
百分比宽高
如果你想要按比例填充屏幕上某一部分,又不想使用 flex
布局,那么可以在组件的style
中使用百分比。与弹性宽高相似,百分比宽高要求父容器有一个明确的尺寸。
当你熟练掌握了如何控制组件的尺寸后,下一步可以学习如何在屏幕上排列组件了。