CupertinoNavigationBar背景色未正常显示,求解决方法
你遇到的是CupertinoNavigationBar的默认滚动行为导致的——当页面包含可滚动组件(比如ListView)时,导航栏默认会在滚动过程中动态调整透明度,初始状态为透明(所以看起来和页面背景色一致,显示白色),只有滚动到内容顶部之外时才完全显示设置的背景色。
要让导航栏始终显示自定义背景色,只需要给CupertinoNavigationBar添加opaque: true属性即可:
return CupertinoPageScaffold( navigationBar: CupertinoNavigationBar( middle: Text('Settings', style: TextStyle(color: CupertinoColors.black)), backgroundColor: CupertinoColors.systemYellow, opaque: true, // 强制导航栏保持不透明 ), child: YourPageContent(), // 替换为你的页面内容 );
opaque属性的作用是控制导航栏是否始终保持完全不透明状态。设置为true后,导航栏会忽略滚动状态,一直显示你设置的背景色,不会再出现初始透明的情况。
内容的提问来源于stack exchange,提问作者Joshua Singla
相关产品推荐
相关产品推荐

