如何将 2 个盒子放在同一行,然后在下面再放 2 个?等等

Posted

技术标签:

【中文标题】如何将 2 个盒子放在同一行,然后在下面再放 2 个?等等【英文标题】:How to put 2 boxes in the same row and then put 2 more underneath? and so on 【发布时间】:2022-01-18 21:11:30 【问题描述】:

我正在尝试放置 2 的元素,因为什么是数据 .map 并且我不能放置带有 flexDirection:“行”的分隔符 DIV,我需要进行换行并且它们被容纳但这样做是无法正常工作。

<View
  style=styles.container_cards
>
  
     data.map((elements, index) => 
        return(
           <CardTwoRows elements=elements/>
        )
     )
   
</View>

const styles = StyleSheet.create(
  container_cards: 
    width: "100%",
    height: "100%",
    marginTop: verticalScale(14),
    flexWrap: "wrap",
  ,
)

我的 CardTwoRows,它基本上包含这个

<View style=styles.container>
.........
</View>

const styles = StyleSheet.create(
  container: 
    width: "49%",
    height: verticalScale(220),
    borderRadius: scale(6),
    marginRight: "2%",
  ,
)

这是它的外观示例,我需要显示 2,然后再显示行和 2 卡之间的空格

【问题讨论】:

【参考方案1】:

您可以使用这样的平面列表。

一个工作的demo 以及下面的代码

import * as React from 'react';
import  Text, View, StyleSheet, FlatList  from 'react-native';
import Constants from 'expo-constants';

const list = [0, 1, 2, 3, 4, 5, 6, 7];
export default function App() 
  return (
    <View style=styles.container>
      <FlatList
        data=list
        numColumns=2
        keyExtractor=(item)=> item
        renderItem=( item ) => (
          <View style=styles.card>
            <Text style=styles.text>item</Text>
          </View>
        )
      />
    </View>
  );


const styles = StyleSheet.create(
  container: 
    flex: 1,
    justifyContent: 'center',
    paddingTop: Constants.statusBarHeight,
    backgroundColor: '#ecf0f1',
    padding: 8,
  ,
  card: 
    height: 100,
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#212121',
    margin: 5,
    borderRadius: 10,
  ,
  text: 
    fontSize: 40,
    fontWeight: '600',
    color: 'white',
  ,
);

【讨论】:

我有这段代码有一段时间了,我很确定我在另一个***帖子上找到了它,但是我找不到它。时间太长了。

以上是关于如何将 2 个盒子放在同一行,然后在下面再放 2 个?等等的主要内容,如果未能解决你的问题,请参考以下文章

2个div标签同在一行,然后怎么让他们2个的宽度一样,占满整的一行?

如何将一个div拖入另一个div里?

SCSS 可以检测容器的 2 个子元素是放在同一行还是分成 2 行?

盒子里有一些糖果,小明每次拿出其中的糖果的一半再放回1颗,一共拿了三次盒子还剩下3颗糖果原来有几颗

如何在同一行布局 2 个 TextView(左侧 1 个,右侧 1 个)和 SeekBar

获取一个带有潜台词的图标,然后在同一行上列出一个列表?