React native 防止在本机中有2列的FlatList上单独的项变为100%宽度
我得到了一个带有React native 防止在本机中有2列的FlatList上单独的项变为100%宽度,react-native,native-base,React Native,Native Base,我得到了一个带有numColumns={2}的平面列表,在这个平面列表中,我呈现了一个本机基本卡项。 这个想法是要有一个卡片列表,每个卡片都占据父容器的50%。 但我意识到,例如,如果我有3个项目,由于卡片样式上的flex:1,下面的项目将占据100%的宽度 我怎样才能使单独的物品在任何情况下都只能达到50%的宽度 这是我的代码: render() { return ( <View> <FlatList
numColumns={2}
的平面列表,在这个平面列表中,我呈现了一个本机基本卡项。
这个想法是要有一个卡片列表,每个卡片都占据父容器的50%。
但我意识到,例如,如果我有3个项目,由于卡片样式上的flex:1
,下面的项目将占据100%的宽度
我怎样才能使单独的物品在任何情况下都只能达到50%的宽度
这是我的代码:
render() {
return (
<View>
<FlatList
numColumns={2}
style={ styles.cardContainer }
keyExtractor={ this._keyExtractor }
data={ this.state.itemList }
renderItem={ this._renderItem }
>
</FlatList>
</View>
);
}
\u renderItem
只是一个
,上面有样式={card}
。如果需要,我也可以发布。但除了内部元素外,没有什么主要的风格
另外,我注意到,当我滚动这个平面列表时,如果列表元素没有占据100%的垂直空间,它看起来就像有一个溢出:用父容器的最大高度隐藏,我如何使这个平面列表也具有100%的高度
这是正在发生的事情,而不是期望的结果。
提前感谢。在检查了Rocky建议的可能的副本之后。我为我的具体案例找到了一个解决方案,我也认为这是迄今为止最干净的解决方案。尊敬埃米利乌斯·姆福鲁基 还有一些其他的建议,但在迭代项上添加
flex:1/n
对我来说很有效。如果你有两列,它将是1/2,如果3是1/3,依此类推
希望这对其他人有所帮助。可能重复“是”,很抱歉您是对的。搜索了很多,没有找到任何具体的。在评论中找到了解决方案。这并不总是有效的。由于填充,1/n仍然比其他的大。。。
cardContainer: {
flex: 1,
flexDirection: 'column'
},
card: {
flex: 1,
margin: 10,
flexBasis: '50%'
},