2
  • SliverAppBar当内容在我的应用程序中滚动时,我正在使用滚动flutter应用程序栏,但只要我滚动列表状态栏颜色就会变为透明。

  • 我想要状态栏在它的位置,并在我的情况下使用默认的原色,即蓝色。

  • 见:视频

这是代码:

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

2 回答 2

1

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

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

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

当然,您可以根据需要更改Theme.of(context).primaryColor任何颜色。

于 2020-09-02T19:53:34.493 回答
0

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

于 2021-04-30T08:16:34.020 回答