我的屏幕被分割成一个顶部和底部的部分,其样式如下:
<SafeAreaView>
<View style={styles.top}>
<Image source={img} style={styles.img}/>
</View>
<View style={styles.bottom}></View>
</SafeAreaView>
top: {
flex: 1
},
img: {
height: '100%',
width: '100%',
resizeMode: 'contain',
},
bottom: {
flex: 2,
minHeight: 450
}
然而,当我这样做时,下半部分占用的空间比屏幕的2/3要大得多,我不明白是什么原因造成了这种情况。当我删除minHeight时,除了我缺少minHeight这一事实之外,一切都按照预期的方式工作。
如果我正确理解了所有的东西,上面的部分应该占1/3,底部应该占2/3?我遗漏了什么?
发布于 2022-02-04 22:02:12
你们的风格是互相影响的。当将柔性箱和静态造型混合时要小心--结果往往不是你想要的。
尝试从width
样式中删除img
和height
并添加flex: 1
。还可以从minHeight
中删除bottom
。你的两个观点应该占其父视图的1/3和2/3。您可能想将minHeight
设置为屏幕高度的百分比吗?我不知道你的设计有什么意义。
我发现这篇博文很有帮助:https://blog.reactnativecoach.com/understanding-flex-in-react-native-b34dfb4b16d1
https://stackoverflow.com/questions/70993411
复制相似问题