flutter沉溺式透明状态栏导航栏实现/状态栏颜色设置

2023-11-23 0 1,310

正文:

使用 AnnotatedRegion 组件包裹 Scaffold 支持 dark 和 light 两种颜色。通过 AnnotatedRegion 设置当前界面的状态栏及底部导航栏的样式。

如下图:

flutter沉溺式透明状态栏导航栏实现/状态栏颜色设置
教你如何使用Flutter制作一个透明沉溺式的状态栏导航栏或修改状态栏颜色为与你应用主题匹配的颜色。

以 Flutter2.0 为例

flutter2 沉溺式透明状态栏导航栏实现代码

下面提供的几种方法可根据应用场景进行灵活使用。实现分为 Android 沉溺式和 IOS 沉溺式。

方法一:setSystemUIOverlayStyl 透明状态栏

使用 servic 方法 set 状态颜色为透明

// https://www.huizhanii.com
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main(){
  WidgetsFlutterBinding.ensureInitialized();
  SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
    statusBarColor: Colors.transparent, // transparent status bar
  ));
  runApp(MyApp());
}

注意,如果您的应用中在 man 入口使用了 AppBar,则该方法会被 AppBar 的值所覆盖,解决方法是将该方法移至 runApp 方法后:

方法二:systemOverlayStyle 透明状态栏

指定用于与 AppBar 重叠的系统覆盖的样式,如果 AppBar 与全局设置有重叠覆盖的情况,使用 systemOverlayStyle 可确保效果完整。

// https://www.huizhanii.com
Scaffold(
  appBar: AppBar(
    backwardsCompatibility: false,
    systemOverlayStyle: SystemUiOverlayStyle(statusBarColor: Colors.transparent),
  ),
)

方法三:AnnotatedRegion 透明状态栏

通过 AnnotatedRegion 设置当前界面的状态栏及底部导航栏的样式,使用 AnnotatedRegion 组件包裹 Scaffold,支持 dark 和 light 两种颜色。

// https://www.huizhanii.com
@override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: AnnotatedRegion<SystemUiOverlayStyle>(
        value: SystemUiOverlayStyle(
          // 设置沉浸式状态栏文字颜色
          statusBarColor: Colors.transparent, // transparent status bar
          systemNavigationBarColor: Colors.black, // navigation bar color
          statusBarIconBrightness: Brightness.dark, // status bar icons' color
          systemNavigationBarIconBrightness: Brightness.dark, //navigation bar icons' color
        ),
        child: Scaffold(
          body: _getBody(context),
        ),
      ),
    );
  }

本文章已结束,如转载请注明:汇站网 » flutter 沉溺式透明状态栏导航栏实现/状态栏颜色设置

收藏 (0)

微信支付 微信扫一扫

支付宝支付 支付宝扫一扫

打赏二维码
点赞 (0)

站长资源下载中心-找源码上汇站

flutter沉溺式透明状态栏导航栏实现/状态栏颜色设置
下一篇:

已经没有下一篇了!

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

联系官方客服

为您解决烦忧 - 24小时在线 专业服务