首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >避免所有屏幕上的状态栏重叠

避免所有屏幕上的状态栏重叠
EN

Stack Overflow用户
提问于 2017-08-09 11:56:02
回答 2查看 16.9K关注 0票数 15

我希望我的应用程序上的所有屏幕都出现在iOS和安卓系统的状态栏下方,所以我要么必须在所有屏幕上添加一个StatusBar组件,要么就必须添加一个paddingTop

有没有办法在全球范围内做到这一点?在Redux应用程序中添加StatusBar的合适的顶层组件在哪里?(例如,https://github.com/react-community/react-navigation/tree/master/examples/ReduxExample的哪个部分)?

EN

回答 2

Stack Overflow用户

发布于 2018-06-15 15:25:22

步骤1:导入平台和StatusBar

代码语言:javascript
运行
复制
import { Platform, StatusBar} from 'react-native';

第2步:在父视图中添加此样式

代码语言:javascript
运行
复制
paddingTop: Platform.OS === 'android' ? StatusBar.currentHeight : 0 

完整代码:

代码语言:javascript
运行
复制
import React, { Component } from 'react';
    import {
      Text, View,
      Platform, StatusBar
    } from 'react-native';

    export default class App extends Component {
      render() {
        return (
          <View style={{ paddingTop: Platform.OS === 'android' ? StatusBar.currentHeight : 0 }}>
            <Text>This is Text</Text>
          </View>
        );
      }
    }
票数 36
EN

Stack Overflow用户

发布于 2017-08-09 12:36:03

您可以创建一个<NavigationContainer/>组件来容纳所有不同的页面,这样就不需要在每个单独的屏幕组件中重复StatusBar和填充代码。

我在这里创建了一个示例:https://snack.expo.io/SyaCeMOwW

而且不需要根据您的导航结构或redux流进行任何更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45581440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档