代码:
CustomScrollView(
slivers: <Widget>[
SliverAppBar(
expandedHeight: 200.0,
flexibleSpace: FlexibleSpaceBar(
title: Container(color: Colors.red, child: Text("Flexible title")),
background: Image.asset("assets/chocolate.jpg", fit: BoxFit.cover),
),
),
SliverList(delegate: SliverChildListDelegate(_buildChildren())),
],
);
为什么标题中有默认填充。我使用Container
进行对比,以便可以轻松看到边距。即使我尝试使用centerTitle: false
,它也没有任何改变。
答案 0 :(得分:2)
您现在可以像这样使用 titlePadding
属性:
flexibleSpace: FlexibleSpaceBar(
title: Text('Home'),
titlePadding: EdgeInsetsDirectional.only(
start: 0.0,
bottom: 16.0,
),
),
答案 1 :(得分:1)
在_FlexibleSpaceBarState
的方法build
中:
Container(
padding: EdgeInsetsDirectional.only(
start: effectiveCenterTitle ? 0.0 : 72.0,
bottom: 16.0
)
因此,除了自定义之外,没有其他方法可以删除此底部填充
为了进行测试,我将源代码中的一个字符串更改为bottom: 0.0
,并且该填充消失了。
答案 2 :(得分:0)
不居中,否则EdgeInsetsDirectional.only(start 0, bottom: 16)
。
最终的EdgeInsetsGeometry titlePadding;