我正在尝试制作这样的布局:
为此,我制作了两个名为HalfWidthFullHeightCard
和的组件HalfWithHalfHeightCard
。
我将HalfWidthFullHeightCell
组件创建为?
<TouchableOpacity onPress={pressEvent}>
<ImageBackground
source={sourcePath}
imageStyle={{ borderRadius: 8, resizeMode: 'cover', width: '100%' }}
style={styles.halfWidthCard}>
<Text style={styles.halfWidthCardHeading}>{heading}</Text>
<Text style={styles.halfWidthCardText}>{cardText}</Text>
</ImageBackground>
</TouchableOpacity>
...
halfWidthCard: {
backgroundColor: colors.brightYellow,
marginBottom: 10,
borderRadius: 8,
},
基于cardText
卡片的宽度是自动计算的,并且在halfWidthCardText
我只有的样式表中padding: 10
接下来的HalfWithHalfHeightCard
一切都是一样的,除了样式是:
...
smallHalfWidthCard: {
backgroundColor: colors.brightYellow,
borderRadius: 8,
marginBottom: 10
},
smallHalfWidthCardHeading: {
padding: 10,
},
smallHalfWidthCardText: {
padding: 10,
},
我将这两个组件放在一起的地方是:
<ScrollView contentContainerStyle={{padding: 15}}>
<View style={{flexDirection: 'row',}}>
<HalfWidthFullHeightCell />
<View>
<HalfWithHalfHeightCell />
<HalfWithHalfHeightCell />
</View>
</View>
</ScrollView>
现在有两个问题:
- 将灰色区域视为设备的宽度。
HalfWidthFullHeightCard
占用 100% 的空间和 - 位于
HalfWithHalfHeightCard
屏幕之外,并且与 的高度不同HalfWidthFullHeightCard
。
那么,我怎样才能使这些组件灵活,以便它们随着屏幕尺寸的变化而适应布局呢?