Flutter實現沉浸式狀態欄-flutter原生支持(原生效果支持IOS和安卓)


我不喜歡廢話 先上圖 (都是真機測試)

  • 安卓的

  • ios的(用ipad演示的)

實現方式

### 我們只需要在生命周期 initState()或者其他的鈎子中調用下面的 方法即可
/// 狀態欄樣式 沉浸式狀態欄
  _statusBar([String color]) {
    // 白色沉浸式狀態欄顏色  白色文字
    SystemUiOverlayStyle light = SystemUiOverlayStyle(
      systemNavigationBarColor: Color(0xFF000000),
      systemNavigationBarDividerColor: null,
      /// 注意安卓要想實現沉浸式的狀態欄 需要底部設置透明色
      statusBarColor: Colors.transparent,
      systemNavigationBarIconBrightness: Brightness.light,
      statusBarIconBrightness: Brightness.light,
      statusBarBrightness: Brightness.dark,
    );

 // 黑色沉浸式狀態欄顏色 黑色文字
    SystemUiOverlayStyle dark = SystemUiOverlayStyle(
      systemNavigationBarColor: Color(0xFF000000),
      systemNavigationBarDividerColor: null,
      /// 注意安卓要想實現沉浸式的狀態欄 需要底部設置透明色
      statusBarColor: Colors.transparent,
      systemNavigationBarIconBrightness: Brightness.light,
      statusBarIconBrightness: Brightness.dark,
      statusBarBrightness: Brightness.light,
    );
// 這個地方你可以去掉三目運算符 直接調用你想要的 效果即可
    "while" == color?.trim()
        ? SystemChrome.setSystemUIOverlayStyle(light)
        : SystemChrome.setSystemUIOverlayStyle(dark);
  }

ps :這個其實是 依賴余Flutter給我提供的一個 實現類 import 'package:flutter/services.dart';


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM