如何防止SliverAppBar背景图片淡出?

sub*_*ero 5 flutter

我有以下SliverAppBar内容CustomScrollView

  SliverAppBar(
    stretch: true,
    floating: false,
    pinned: true,
    expandedHeight: 300,
    flexibleSpace: FlexibleSpaceBar(
      stretchModes: [StretchMode.zoomBackground],
      background: (
        Image.asset("assets/$bgimg", fit: BoxFit.cover)
      ),
    ),
  ),
Run Code Online (Sandbox Code Playgroud)

它按预期工作,但是,当用户在 SliverAppBar 上向上滚动时,背景图像(放置在 内FlexibleSpaceBar)就会消失。实际的淡入淡出显然发生在实际的FlexibleSpaceBar Widget内部,因为查看源文件可以得到以下结果:

final double opacity = 1.0 - Interval(fadeStart, fadeEnd).transform(t);

视频: https: //i.stack.imgur.com/Y1NMn.jpg

当用户向上滚动时,我不希望 SliverAppBar 变成蓝色。如何防止这种行为并使背景始终保持不变?我是不是看错了小部件?

我尝试将 SliverAppBar 的颜色属性设置为透明,但它仍然淡出。

小智 0

解决方案是定义collapsedHeight的值等于expandedHeight的值