Flutter 如何使自定义粘性页眉的页眉粘在一起,而不是在颤振中重叠?

Flutter 如何使自定义粘性页眉的页眉粘在一起,而不是在颤振中重叠?,flutter,flutter-layout,flutter-sliver,Flutter,Flutter Layout,Flutter Sliver,我想我现在已经理解了自定义粘性头的工作原理,但我就是找不到在哪里可以添加阻止粘性头的头重叠的功能 我想实现下图中的效果,但没有标题重叠,我希望每个标题都贴在彼此下方。 任何关于在何处添加附加功能的帮助都将是巨大的帮助,提前感谢! 编辑:好的,逻辑很简单。只需将标题添加到列表中,并将标题的子项添加到该列表中 因此,您可以使用以下代码实现您的需求: List<Widget> _buildStickySliverListTest(ListCount sliverList) {

我想我现在已经理解了自定义粘性头的工作原理,但我就是找不到在哪里可以添加阻止粘性头的头重叠的功能 我想实现下图中的效果,但没有标题重叠,我希望每个标题都贴在彼此下方。 任何关于在何处添加附加功能的帮助都将是巨大的帮助,提前感谢!


编辑:

好的,逻辑很简单。只需将标题添加到列表中,并将标题的子项添加到该列表中

因此,您可以使用以下代码实现您的需求:

    List<Widget> _buildStickySliverListTest(ListCount sliverList) {
    var widgetList = List<Widget>();
    for (int index = 0; index < sliverList.data.length; index++) {
      widgetList
        ..add(
          SliverAppBar(
            automaticallyImplyLeading: false,
            title: Text("Header $index"),
            pinned: true,
          ),
        )
        ..add(
          SliverFixedExtentList(
            itemExtent: 50.0,
            delegate:
            SliverChildBuilderDelegate((BuildContext context, int index) {
              return Container(
                alignment: Alignment.center,
                color: Colors.lightBlue[100 * (index % 9)],
                child: Text('Sublist item $index'),
              );
            }, childCount: sliverList.data[index].length),
          ),
        );
    }

    return widgetList;
  }

  @override
  Widget build(BuildContext context) {
    var list1=["a","b","c"];
    var list2=["a","b","c","d","e"];
    var list3=["a","b"];
    var list4=["a","b","c","d"];
    var data=[list1,list2,list3,list4];
    var sliverList=ListCount(data);

    return Scaffold(
      appBar: AppBar(
        title: Text("Sticky Sliver List"),
      ),
      body: CustomScrollView(
      slivers: _buildStickySliverListTest(sliverList),
      ),
    );
  }
List\u buildStickySliverListTest(ListCount sliverList){
var widgetList=List();
for(int index=0;index
另外,为ListCount创建一个类,如下所示

class ListCount{
  List<List<String>> data;

  ListCount(this.data);
}
类列表计数{
列出数据;
ListCount(此.data);
}
通过这种方式,您可以轻松构建标题和子列表。根据您的选择实现列表和标题的逻辑


我希望这能满足您的要求。

是的,实现了所需的输出,但是当我试图减少_buildStickySliverList函数中sliverListSize的数量时,例如_buildStickySliverList(2,2),第一个标题的子列表项没有接近结尾,第二,如何使每个标题的子列表项的数量不同(不是恒定的)我认为这符合我的要求,我感谢您的时间和考虑