在阅读此解决方案时,需要确认所出现的问题是否与我一致
界面反馈:由Native跳转到flutter界面时,状态栏的设置无效(包括对icon的颜色和statusBar背景颜色),具体表现为,状态栏有灰色蒙板。
原因分析
首先,对于设置状态栏的相关属性都是需要通过flutter的
SystemChannels.platform.invokeMethod
方式调用到native方法来设置状态栏相关属性,
flutter/service/system_chrome.dart
static void setSystemUIOverlayStyle(SystemUiOverlayStyle style) {
assert(style != null);
if (_pendingStyle != null) {
// The microtask has already been queued; just update the pending value.
_pendingStyle = style;
return;
}
if (style == _latestStyle) {
// Trivial success: no microtask has been queued and the given style is
// already in effect, so no need to queue a microtask.
return;
}
_pendingStyle = style;
scheduleMicrotask((