React Native中的布局

  1. 使用width和height
    react native中width和height没有单位,表示的是与设备像素密度无关的逻辑像素点
<View style={{width:100,height:100,backgroundColor: 'gray'}}>
    <Text style={{fontSize: 16}}>测试字体</Text>
</View>

上面的width、height、fontSize在android中宽和高被解析成dp、字体被解析为sp;iOS上宽和高被解析为pt,虽然width和height不能带有单位但是 style={{width:'100%',height:'100%'}}依然生效(0.57版本中,其它版本没有验证)
2. 使用Flexbox
flexDirection用来确定主轴的方向,值可以为'row''column',默认值是'column'

justifyContent设置子元素沿着主轴的排列方式。可选值有 flex-start、center、flex-end、space-around、space-between、space-evenly。效果如下(flexDirection:‘row’):
在这里插入图片描述
alignItems设置其子元素沿着次轴(与主轴垂直的轴,比如若主轴方向为row,则次轴方向为column)的排列方式。可选项有:flex-start、center、flex-end以及stretch

flexWrap置子元素超出以后是否换行。值可以是wrap或nowrap。效果如下:
在这里插入图片描述
alignSelf值可以是’auto’|‘flex-start’|‘center’|‘flex-end’|‘stretch’ 设置当前子元素在次轴上的对齐方式

说明:flexDirection、justfyContent、alignItems、flexWrap是使用在父元素上的。alignSelf是使用在子元素上的。flex属性既可以使用在父元素上也可以使用在子元素上

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Native弹性布局是一种基于Flexbox布局模型的布局方式,它可以让你更轻松地创建具有弹性的用户界面。Flexbox是一种用于在屏幕上分配空间的CSS3布局模型,它可以将一个容器的子元素沿着一个主轴和交叉轴进行对齐和排列。在React Native,弹性布局可以让你使用一系列简单的布局属性来指定容器的子元素如何进行布局。 具体而言,React Native弹性布局有以下常用属性: - `flex`:定义一个元素的伸缩能力,默认值为0,即不伸缩。 - `flexDirection`:定义元素在容器的排列方向,可选值包括`row`(水平方向)、`column`(竖直方向)、`row-reverse`(反向水平方向)和`column-reverse`(反向竖直方向)。 - `justifyContent`:定义元素在主轴上的对齐方式,可选值包括`flex-start`、`center`、`flex-end`、`space-between`(两端对齐)和`space-around`(各个元素之间留有空隙)。 - `alignItems`:定义元素在交叉轴上的对齐方式,可选值包括`flex-start`、`center`、`flex-end`、`stretch`(默认值,拉伸元素以填充交叉轴)和`baseline`(让元素按照它们的基线对齐)。 下面是一个使用弹性布局实现水平居和竖直居的例子: ```javascript import React from 'react'; import { View, StyleSheet } from 'react-native'; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, box: { width: 100, height: 100, backgroundColor: 'red', }, }); const App = () => { return ( <View style={styles.container}> <View style={styles.box} /> </View> ); }; export default App; ``` 这里的`container`使用了弹性布局,并且使用了`justifyContent`和`alignItems`来实现水平和竖直居

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值