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%'
},