我是 react-native 的新手,我正在尝试将屏幕划分为拖曳部分,第一部分是标题或导航栏希望有一个关于 40px 的特定高度第二部分是正文或应用程序的内容希望他的身高必须是手机屏幕上的可用高度,我尝试使用 flex box 方法,但它不起作用!这是我的代码:
<View style={styles.mainContainer}>
<View style={styles.navBar}>
</View>
<View style={styles.body}>
</View>
</View>
风格:
mainContainer: {
height: '100%',
display: 'flex',
flexDirection: 'column',
},
navBar: {
display: 'flex',
flexDirection: 'row-reverse',
justifyContent: 'space-between',
alignItems: 'center',
backgroundColor: '#f1f1f1',
height: 30,
},
body: {
flex: 3,
display: 'flex',
},
只是使用这种方式,我希望这会起作用。
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF'}}>
<View style={{flex:1, backgroundColor:"green"}}>
<Text>hello world 1.........</Text>
<Text>hello world 1.........</Text>
<Text>hello world 1.........</Text>
<Text>hello world 1.........</Text>
</View>
<View style={{flex:1, backgroundColor:"yellow"}}>
<Text>hello world 2.........</Text>
<Text>hello world 2.........</Text>
<Text>hello world 2.........</Text>
<Text>hello world 2.........</Text>
</View>
</View>
你的代码工作得很好。在零食上看到它运行: https://snack.expo.io/S1LHFmFyG
您可能使用的是不支持百分比的旧版本的 React Native。它们于今年年初登陆,因此您需要RN v0.42.3或更高版本才能使用它们。
附带说明一下,那里有一些不必要的代码行,以防您想使其更加干燥。您不需要声明display
,因为它默认flex
,flexDirection
默认情况下也设置为column
,如果您想要 40px 的条纹,您的height
应该是40
但我相信您知道这一点。