Flutter混合开发状态栏问题(Android)

在Flutter与Android混合开发中,遇到从Native跳转到Flutter界面时,状态栏设置无效,表现为灰色蒙版。问题源于MethodChannel未初始化完成,导致状态栏属性无法生效。解决方案是在自定义的FlutterActivity子类如FlutterBoostActivity的onCreate或onPostResume方法中添加状态栏属性修改代码。
摘要由CSDN通过智能技术生成

在阅读此解决方案时,需要确认所出现的问题是否与我一致

界面反馈:由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((
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值