0

1. 背景

我正在尝试制作一个ListView顶部有一些空白空间的空间,以便用户可以将顶部卡片带到屏幕底部,在那里她可以用拇指轻松访问它们。正如在另一个 StackOverflow 问题中所讨论的,我无法使用常规来实现这一点ListView,所以我切换到了它的父级 a CustomScrollView

然而,在添加一个 top 之后SliverAppBar,当我接近折叠它时,空间会模糊成更深的灰色阴影,如下图所示。如何禁用此效果?

在此处输入图像描述

2. 守则

到目前为止我使用的`SliverAppBar 是:

SliverAppBar(
  automaticallyImplyLeading: false, // gets rid of the back arrow
  expandedHeight: 250, // the collapsible space you want to use 
  flexibleSpace: FlexibleSpaceBar(
    background: Container(
      color: Colors.transparent
    ),
  ),
),

我也尝试过修改我的flexibleSpace: FlexibleSpaceBar,但似乎没有用:

flexibleSpace: FlexibleSpaceBar(
  title: AnimatedOpacity(
    opacity: 0.0,
    duration: Duration(seconds: 1),
  ),
  collapseMode: CollapseMode.none,
  stretchModes: [
    StretchMode.fadeTitle,
  ],
  background: Container(color: Colors.grey[850]),
),
4

1 回答 1

0

SliverList 的默认背景颜色似乎是主题的 canvasColor。通过在 FlexibleSpaceBar 的背景上使用容器上的主题颜色,我设法使颜色匹配:

FlexibleSpaceBar(
  background: Container(
    alignment: Alignment.center,
    color: Theme.of(context).canvasColor,
  ),
)
于 2020-01-16T11:48:42.660 回答