react-native - 如何使用 Iphone X 在 SafeAreaView 的顶部和底部设置不同的颜色
问题描述
这个问题已经回答了,但建议的解决方案不再有效:
return (
<Fragment>
<SafeAreaView style={{ flex:0, backgroundColor: 'red' }} />
<SafeAreaView style={{ flex:1, backgroundColor: 'gray' }}>
<View style={{ flex: 1, backgroundColor: 'white' }} />
</SafeAreaView>
</Fragment>
);
应该给我:
而是给了我:
如您所见,查看顺序不一样。
我在 iOS 上遇到了同样的问题。
我正在使用 react 16.13.1
,也许自上一个答案以来发生了一些变化?
我的替代方案是什么?
谢谢
解决方案
以下对我有用,使用 React 16.13.1:
return (
<Fragment>
<SafeAreaView style={{flex: Platform.OS === "android" ? 0.03 : 0, backgroundColor: "red"}}/>
<View style={{flex: 1, backgroundColor: "white"}}/>
<SafeAreaView style={{flex: Platform.OS === "android" ? 0.03 : 0, backgroundColor: "gray"}}/>
</Fragment>
);
iOS截图:
安卓截图:
推荐阅读
- macos - dyld:库未加载:@rpath/... 原因:代码签名时未找到图像
- postgresql - 在 Postgres 中更新 JSON 列?
- firebase - 在 Cloud Run Container 中使用 Firebase Admin Auth
- git - 自己托管存储库的本地“分叉”
- amazon-web-services - 什么会导致 ecs 服务在启动时失败?
- python-3.x - Python - 基于其他列中的文本绘图
- android - 我可以获取从 Intent.ACTION_CREATE_DOCUMENT 创建的文件的文件路径吗?
- php - 元素的数组和优先级
- python - 如何在 Visual Studio 代码中使用特定端口和 localhost 调试 django Web 应用程序?
- mysql - Nodejs用MYSQL问题查询外接方法