Я следую этому учебнику , но использую веб-флаттер
Я столкнулся с этой проблемой с моим кодом:
@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;
}
дает это результат
, но если я заменю SliverPersistentHeader на это:
SliverAppBar( pinned: true,
expandedHeight: _size.height*0.5,
flexibleSpace: FlexibleSpaceBar(
title: Text('test',textScaleFactor: 5,),
),),
результат резко меняется, как вы можете видеть здесь
есть идеи, почему и как это исправить?спасибо