【发布时间】:2022-01-10 16:58:24
【问题描述】:
我正在尝试制作一个简单的 Tesla App 克隆,因为我刚刚开始使用 React Native,我被卡了一段时间。问题是,我无法将背景图片设置为设备屏幕/窗口的全高。
一些参考图片:
下面是我一直在尝试的代码:
我的CarsList 组件,它呈现您可以看到的项目列表。
const CarsList = () => {
return (
<View style={styles.container}>
<FlatList
data={cars}
snapToAlignment={'start'}
decelerationRate={'normal'}
snapToInterval={Dimensions.get("window").height}
showsVerticalScrollIndicator={false}
renderItem={
({ item }) =>
<CarItem
carTitle={item.carTitle}
carSubTitle={item.carSubTitle}
carImage={item.carImage}
tagLine={item.tagLine}
/>
}
/>
</View>
)
}
CarsList 的样式表:
const styles = StyleSheet.create({
container: {
width: "100%",
}
});
然后是单CarItem。
const CarItem = ({ carTitle, carSubTitle, carImage, tagLine }) => {
return (
<View style={styles.carContainer}>
<ImageBackground
source={carImage}
style={styles.backgroundImage}
/>
<View style={styles.carTitlesContainer}>
<Text style={styles.title}>{carTitle}</Text>
<Text style={styles.subtitle}>{carSubTitle} {tagLine}</Text>
</View>
<View style={styles.buttonsContainer}>
<StyledButton
type="primary"
content="CUSTOM ORDER"
/>
<StyledButton
type="secondary"
content="EXISTING INVENTORY"
/>
</View>
</View>
)
}
CarItem 的样式表,我认为问题出在哪里。
const styles = StyleSheet.create({
carContainer: {
width: "100%",
height: Dimensions.get("window").height,
},
backgroundImage: {
width: "100%",
height: "100%",
resizeMode: 'cover',
position: "absolute",
},
buttonsContainer: {
position: "absolute",
bottom: 40,
width: "100%",
},
})
有人可以告诉我如何解决这个问题,这背后的原因是什么? 谢谢!
【问题讨论】:
-
将
minheight:Dimensions.get("window").height分配给您的容器样式。 -
@Alen.Toma 没用。
标签: css reactjs react-native