负责任的网格/带有React Native的桌子/瑜伽

时间:2019-09-12 19:27:03

标签: react-native layout grid

对于我的React Native应用程序,我需要一个非常简单的表布局,如下所示:

row 1 column 1 | row 1 column 2
-------------------------------
row 2 column 1 | row 2 column 2

这可以通过Flexbox轻松实现:

<View style={{ flexDirection: 'column' }}>
  <View style={{ flexDirection: 'row', flex: 1 }}>
    <View style={{ flex: 1 }}>
      row 1 column 1
    </View>
    <View style={{ flex: 1 }}>
      row 1 column 2
    </View>
  </View>
  <View style={{ flexDirection: 'row', flex: 1 }}>
    <View style={{ flex: 1 }}>
      row 2 column 1
    </View>
    <View style={{ flex: 1 }}>
      row 2 column 2
    </View>
  </View>
</View>

这样,我得到的行是均匀间隔的,而在每一行中,我的行都是均匀间隔的。

但是,列中最终显示的内容大小可能会有很大差异。很有可能第二列中的所有内容都比第一列中的内容长得多。因此列宽必须灵活:

row 1 column 1 | row 1 column 2, long content that could
               | even break to a second row
--------------------------------------------------------
row 2 column 1 | row 2 column 2, again the content is
               | longer than in column 1

如何确保第1行中的列宽与第2行中的列宽匹配?换句话说,如何避免以下布局,因为我们根本没有列:

row 1 column 1 | row 1 column 2, long content
---------------------------------------------
row 2 column 1, a bit longer | row 2 column 2

我无法将嵌套从行中的列切换为行中的列,因为那样我将对行有相同的问题:

row 1 column 1       | row 1 column 2, long content that could
---------------------| even break to a second row
row 2 column 1 with  |----------------------------------------
a bit longer content | row 2 column 2

换句话说,我需要CSS网格而不是CSS Flexbox。 React Native是否存在?

0 个答案:

没有答案