gpt4 book ai didi

flutter - 我怎样才能使自定义粘性 header 中的 header 相互粘在下面而不是在 flutter 中重叠?

转载 作者:IT王子 更新时间:2023-10-29 06:56:00 27 4
gpt4 key购买 nike

我想我现在了解了自定义粘性 header 的工作原理,但我找不到在哪里可以添加功能来阻止粘性 header 的 header 重叠我想实现如下图所示的效果,但标题没有重叠,我希望每个标题都相互粘在一起。任何关于在哪里添加额外功能的帮助都将是一个巨大的帮助,在此先感谢! image showing the overlapping sticky header

编辑:source link

最佳答案

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

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

    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),
),
);
}

此外,如下所示为 ListCount 创建一个类,

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

ListCount(this.data);
}

这样您就可以轻松构建标题和子列表。根据您的选择实现列表和标题的逻辑。

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

关于flutter - 我怎样才能使自定义粘性 header 中的 header 相互粘在下面而不是在 flutter 中重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57313779/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com