我有一个自定义组件,需要明确设置其高度。我在计算不同设备上的可用空间时遇到了麻烦。
顶部栏没有问题,因为我使用StatusBar高度,但是在底部,iPhone X的“栏”有一些空间,我不知道如何计算(我可以匹配设备,但也许底部还有更多设备。
有什么方法可以计算出来吗?我正在使用Expo Btw。
答案 0 :(得分:1)
我不知道您的主要目标是什么,但这是我的建议:
如果要计算可用高度,可以创建样式为View
的{{1}},然后使用{flex:1}
的{{1}}内置函数。运作方式如下:
onLayout
如果只想避免设备出现凹口,可以使用View
。 Here是完整的文档。 PS。 onLayout=({nativeEvent})=>{
// Here is height
console.warn(nativeEvent.layout.height)
}
<View style={styles.container}>
<YourComponents/>
{/*The part you want to calculate height*/}
<View style={{flex:1}} onLayout={onLayout}/>
</View>
的内置SafeAreaView
组件已移至react-native