react-native - 水平滚动视图,一列中有 2 个项目,一次可见 3 个项目
问题描述
我想实现如下 [![enter image description here][1]][1]
以上只是画面的一部分。我的实际屏幕非常复杂。所以我的父视图是scrollview
所以我不能FlatList
用来实现上面的ui
我希望每列有 2 个项目,一次显示 6 个项目,现在当用户滑动时,接下来的 6 个项目应该以相同的格式显示。
以下是我的代码
<ScrollView
style={{ flex: 1 }}
horizontal={true}
nestedScrollEnabled={true}
contentContainerStyle={{
flex: 1,
flexWrap: "wrap",
}}
>
{items.map((item, index) => {
return (
<Image
source={item}
style={{
width: width / 3.4,
marginVertical: 5,
marginHorizontal: 3,
borderRadius: 10,
resizeMode: "cover",
}}
key={String(index)}
/>
);
})}
</ScrollView>
但我不断地获得一列中的所有项目或一行中的所有项目
解决方案
您的方法应该假设您的数组是 [1,2,3,4,5,6,7,8,9,10,11,12] ,其中 1,2,3... 是元素。
现在,将数组变成由 6 个数组组成的数组,每个数组像 [[1,2,3,4,5,6],[7,8,9,10,11,12]]。
主数组将是您的滚动视图,它将其 2 个子数组表示为水平...并且在滚动视图内部,将键传递给其子元素以获取子元素...并且每个智利元素将是带有 numColumns={3} 的平面列表。
它将完美地工作
推荐阅读
- solr - 文档过多:一个索引不能超过 2147483519 但读者总数 maxDoc=2147483531
- react-native - 按下按钮时更改 TextInput 可编辑属性(不工作)
- android - 将 URI 前缀传递给 createSwitchNavigator 函数以使用 react-navigation 进行深度链接
- vue.js - 使用 tableTop.js 返回一个可以在 Vue 组件中使用的数组
- java - 启动映像时以编程方式接受最终用户许可协议
- python - 无法使用 Selenium 转到 Twitter 页面的底部
- python - 如何在 tkinter 输入框中保存和重新加载腌制数据?
- javascript - 在 NodeJS 中递归读取目录并创建对象
- javascript - 使用本地 CSV 文件生成 Google 图表时出错
- java - 如何更新 RestTemplate 以正确映射 Java 日期?