小编Flo*_*uer的帖子

NestedScrollView 与 SliverAppBar 导致意外的正文填充

当我运行此代码时,ListView 将具有意外的顶部填充。(见截图)为什么会这样?有办法避免这种情况吗?

\n

我已经尝试过 SliverOverlapAbsorber、SafeArea 和 MediaQuery 来修复填充,但到目前为止似乎没有任何效果。

\n
import \'package:flutter/material.dart\';\n\nvoid main() {\n  runApp(MyApp());\n}\n\nclass MyApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      home: MyHomePage(),\n    );\n  }\n}\n\nclass MyHomePage extends StatelessWidget {\n  MyHomePage({Key? key}) : super(key: key);\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      body: NestedScrollView(\n        headerSliverBuilder: (context, innerBoxIsScrolled) => [\n          SliverAppBar(\n            pinned: true,\n            title: Text(\'Title\'),\n          ),\n        ],\n        body: ListView.builder(\n          itemCount: 24,\n          itemBuilder: (context, index) => Container(\n            height: 40,\n            alignment: Alignment.center,\n            color: Colors.yellow,\n            margin: EdgeInsets.only(top: index != 0 ? …
Run Code Online (Sandbox Code Playgroud)

dart nestedscrollview flutter flutter-sliver flutter-sliverappbar

4
推荐指数
2
解决办法
3688
查看次数