我正在关注此tutorial,但使用的是波动性网页
我的代码遇到了这个问题:
@override
Widget build(BuildContext context) {
final Size _size = MediaQuery.of(context).size;
return Center(
child: Container(
height: _size.height,
width: maxWidth(_size),
color: indigo,
child: CustomScrollView(
slivers: <Widget>[
SliverPersistentHeader(
pinned: true,
floating: true,
delegate: SliverHeaderDelegate(
minExtent: _size.height*0.1,
maxExtent: _size.height*0.5),),
SliverFillRemaining()
],),),);}}
标头委托为:
class SliverHeaderDelegate implements SliverPersistentHeaderDelegate {
SliverHeaderDelegate({
this.minExtent,
@required this.maxExtent,
});
final double minExtent;
final double maxExtent;
@override
Widget build(BuildContext context, double shrinkOffset, bool overlapsContent)=>
Center(
child: Container(
child:Text('test',textScaleFactor: 5,),
);
@override
bool shouldRebuild(SliverPersistentHeaderDelegate oldDelegate)=> true;
@override
FloatingHeaderSnapConfiguration get snapConfiguration => null;
}
给出 this 结果
但是如果我将SliverPersistentHeader替换为此:
SliverAppBar( pinned: true,
expandedHeight: _size.height*0.5,
flexibleSpace: FlexibleSpaceBar(
title: Text('test',textScaleFactor: 5,),
),),
如您看到的 here
,结果将发生巨大变化知道为什么以及如何纠正它吗? 谢谢