状态栏不尊重“barStyle”属性

Posted

技术标签:

【中文标题】状态栏不尊重“barStyle”属性【英文标题】:Status bar doesnt respect 'barStyle' property 【发布时间】:2019-12-08 00:09:36 【问题描述】:

在 React Native 中,使用以下代码:

<StatusBar backgroundColor=config.colors.backgroundGray barStyle="dark-content" />

效果很好。然而,当导航到不同的屏幕时,即使上面是整个应用程序中使用的唯一StatusBar 实例,状态栏样式也会变成本质上是“轻内容”的东西。再次深入渲染 StatusBar 组件似乎没有产生任何结果。

backgroundColor 是可控的。有什么想法吗?

【问题讨论】:

你是说StatusBar的背景色是全局应用的,但样式只适用于那个屏幕? 我认为默认的 barStyle 是“light-content”,所以当没有给出 组件时,这是应用的。 【参考方案1】:

您可以将Statusbar自己的功能应用到App.js.

App.js

import  StatusBar  from 'react-native';
StatusBar.setBarStyle('dark-content', true);

static setBarStyle(style: StatusBarStyle, [animated]: boolean)

【讨论】:

如果我的回答有帮助,你会选择一个吗? 我现在就试试吧,我想知道为什么我必须这样做。这是否意味着 api 是错误的,然后需要重新访问文档?很快就会回复您,并标记为已接受 我认为您需要像我的回答一样设置 StatusBar 的样式,因为您想更改整体设计,而不是在一个屏幕上更改 StatusBar 设计。 但是,即使我在每个屏幕上都这样做,它只有样式属性不受影响,而背景是。从这个意义上说,API 肯定是有问题的 我认为最好和模块开发人员谈谈。

以上是关于状态栏不尊重“barStyle”属性的主要内容,如果未能解决你的问题,请参考以下文章

设置状态栏颜色

ios 7状态栏不继承导航栏颜色

修复了 PhoneGap 中 iOS 状态栏重叠但状态栏不显示的问题

iPhone X 上的导航栏不覆盖状态栏

科尔多瓦 phonegap 状态栏不工作

IOS 7状态栏不显示? [复制]