我需要在Flutter中的GridView下面添加一个项目。只有当一个人完全向下滚动网格时,它才应该可见。
该项目应为全角,因此将其作为表格视图中的最后一个项目是不可能的。
我该怎么做?
答案 0 :(得分:1)
您将需要slivers才能实现。这里的想法是拥有很多列表,并在开始滚动第二个列表之前完全滚动每个列表。
要使用薄片,您需要一个CustomScrollView
,它具有一个称为slivers
的属性,实际上,它与children
的作用与多个子小部件的作用几乎相同。
有许多条状小部件供您选择适合您需求的小部件。如果需要网格,则必须使用SliverGrid
。您可以通过delegate
属性传递Grid子代。
就我而言,没有一个条状小部件将您限制为一个孩子-所有这些都是多个子小部件-因此,您提到的最后一个小部件必须位于列表中(或者您想要的其他任何内容) )。
好像您需要这样的东西:
Container(
child: CustomScrollView(
slivers: [
// This one is scrolled first
SliverGrid(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3),
delegate: SliverChildListDelegate([
// Place your children here
]),
),
// Then this one becomes visible and start scrolling as well
SliverList(
delegate: SliverChildListDelegate([
// Place that last widget here
]),
),
],
),
);
答案 1 :(得分:-1)
首先创建一列,然后在“第一个子项”中添加网格代码,然后使用Expanded()显示最后一个项目。
请参见下面的代码。
Container(
child: Column(
children: <Widget>[
//your grid code
// grid code
Expanded(
child: Container(
child:Column(
//your last item.
)
),
),
],
)
)