簡體   English   中英

更改 systemNavigationBarColor 不起作用 Flutter

[英]Changing the systemNavigationBarColor isn't working Flutter

我想根據主題更改 systemNavigationBar 的顏色。

我一直在嘗試使用SystemOverlayStyle更改應用程序的系統導航顏色的顏色,但它似乎不起作用。

 ThemeData get light => ThemeData(
        
        appBarTheme: AppBarTheme(
          iconTheme: lightBase.iconTheme,
          backgroundColor: Colors.transparent,
          elevation: 0,
          centerTitle: true,
          titleTextStyle: const TextStyle(
            fontWeight: FontWeight.bold,
            fontSize: 17,
            color: AppColors.textDark,
          ),
           systemOverlayStyle:
              SystemUiOverlayStyle(systemNavigationBarColor: Colors.pink),
        ),
        
      );

輸出: 在此處輸入圖像描述

AnnotatedRegion小部件包裹Scaffold 然后將它的 value 屬性設置為SystemUIOverlayStyle

例如

 @override
  Widget build(BuildContext context) {
    return AnnotatedRegion<SystemUiOverlayStyle>(
      value: const SystemUiOverlayStyle(
        statusBarBrightness: Brightness.light,
        statusBarIconBrightness: Brightness.dark,
        statusBarColor: Colors.transparent,
        systemNavigationBarColor: Colors.white, // Change Background color
        systemNavigationBarIconBrightness: Brightness.dark,  // Change Icon color
      ),
      child: Scaffold(

要動態更改,例如使用系統主題,首先獲取系統的Brightness

 var brightness = MediaQuery.of(context).platformBrightness;
 bool isDarkMode = brightness == Brightness.dark;

現在基於isDarkMode

systemNavigationBarColor:isDarkMode ? Colors.white : Colors.black,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM