在 flutter 中滚动 SliverAppBar 时状态栏变为透明

Status bar turns transparent while scrolling SliverAppBar in flutter

Here is code:

Scaffold(
    CustomScrollView(
        slivers: <Widget>[
          SliverAppBar(
            title: Text("Home"),
            floating: false,
            pinned: false,
            snap: false,
          ),
          SliverList(
            delegate: SliverChildListDelegate(SOME_LIST_DATA),
          ),
        ],
      )
)

据我了解,状态栏的颜色会根据 AppBar 亮度自动更改,请参阅:https://api.flutter.dev/flutter/services/SystemChrome/setSystemUIOverlayStyle.html

但是如果我怀疑你想要实现的是将状态栏保持为 AppBar 的默认颜色,你可以这样做(尽管我并不特别推荐):

SystemChrome.setSystemUIOverlayStyle(
        SystemUiOverlayStyle(statusBarColor: Theme.of(context).primaryColor));

当然,您可以将 Theme.of(context).primaryColor 更改为您想要的任何颜色。

用 SafeArea 包裹你的小部件,它对我有用...