FlatList numColumns和flex justifyContent问题

我有一个平面列表,我希望使用多达100%的容器宽度以网格形式显示,但是我似乎无法使用平面列表来实现。
当我移到侧面时(按照图片),空间之间的间距围绕容器中的盒子居中,空间均匀地做同样的事情,以marginRight开头的flex-start不准确。不确定如何实现此目标?谢谢

<flatList
    numColumns={3}
    columnWrapperStyle={{ justifyContent: "space-between"}}
    contentContainerStyle={{
       marginTop:20 
    }}
    data={data}
    keyExtractor={item => item.id}
    renderItem={renderItemComponent}
/>

问题: 是否需要类似空格的方式,但如果该行中有2个项目,则根据动态数据将第二个项目移到中间?

FlatList numColumns和flex justifyContent问题

tianyingqi020 回答:FlatList numColumns和flex justifyContent问题

您将必须删除“ columnWrapperStyle”

<FlatList
    numColumns={3}
    contentContainerStyle={{
       marginTop:20 
    }}
    data={data}
    keyExtractor={item => item.id}
    renderItem={renderItemComponent}
/>

示例链接:https://snack.expo.io/@msbot01/5aee23

,

假设 numColumns = 3renderItemComponent 是一个组件。那么这是使它像你想要的那样工作的解决方案

<FlatList
  numColumns={numColumns}
  contentContainerStyle={{
    marginTop: 20,}}
  data={data}
  keyExtractor={(item) => item.id}
  renderItem={<renderItemComponent style={{ flex: 1 / numColumns }} />}
/>;
,

如果这对任何人有帮助,就我而言,列表项容器上的 {flex:1} 样式就是原因。

为项目边框设置颜色让我确定列表项上的 {flex:1} 样式使项目平均占用可用空间(最后一行中的 2 个项目平均共享可用空间)。

Flat List Horizontal

删除子项样式上的 {flex:1} 样式属性使其正确对齐,如下图所示。

enter image description here

本文链接:https://www.f2er.com/3127205.html

大家都在问