原因一:
如果出现这个问题,应该是SliverPersistentHeaderDelegate返回的Widget中有子Widget高度设置不正确.
在SliverPersistentHeaderDelegate返回的Widget中.高度不能高于maxExtent或者低于minExtent
@override
double get maxExtent => 300;
@override
double get minExtent => 100;
原因二:
如果子控件中使用Stack+Positioned,Positioned约束没有写完整,也会出现这个错误,将Positioned写完整即可解决这个问题.
参考:SliverGeometry is not valid: The "layoutExtent" exceeds the "paintExtent". #271
网友评论