Flutter ItemList中的ItemList不滚动
我有一个嵌套的ItemList,如下所示:Flutter ItemList中的ItemList不滚动,flutter,listview,flutter-layout,Flutter,Listview,Flutter Layout,我有一个嵌套的ItemList,如下所示: SafeArea( child: ListView( padding: EdgeInsets.zero, children: <Widget>[ ListTile( title: Text('Placeholder'), ), ListView.builder( shrinkWrap: true, itemCount: itemList.
SafeArea(
child: ListView(
padding: EdgeInsets.zero,
children: <Widget>[
ListTile(
title: Text('Placeholder'),
),
ListView.builder(
shrinkWrap: true,
itemCount: itemList.length,
itemBuilder: (BuildContext context, int index) {
final itemData = itemList[index];
return Card(
child: ListTile(
title: Container(
width: MediaQuery.of(context).size.width,
child: Text(
itemData.text,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: Theme.of(context).textTheme.headline5,
),
),
),
);
},
),
],
),
),
安全区(
子:ListView(
填充:EdgeInsets.zero,
儿童:[
列表砖(
标题:文本(“占位符”),
),
ListView.builder(
收缩膜:对,
itemCount:itemList.length,
itemBuilder:(构建上下文,int索引){
最终项目数据=项目列表[索引];
回程卡(
孩子:ListTile(
标题:集装箱(
宽度:MediaQuery.of(context).size.width,
子:文本(
itemData.text,
maxLines:1,
溢出:TextOverflow.省略号,
风格:Theme.of(context).textTheme.headline5,
),
),
),
);
},
),
],
),
),
我可以在按住直接放置在第一个列表中的项目时上下滚动,这样做也会将项目从嵌套列表中移出。(通缉行为)
在子列表中保存项目(包含生成器的子列表)时,任何位置都不会移动
我想使所有项目移动时,他们中的任何一个举行滚动,我怎么能做到这一点
有没有办法在没有ListView.builder的情况下构建列表,或者我遗漏了一些ListView参数?您可以使用
ListView的物理参数来获得预期的结果
SafeArea(
child: ListView(
physics: AlwaysScrollableScrollPhysics(), // add this
padding: EdgeInsets.zero,
children: <Widget>[
ListTile(
title: Text('Placeholder'),
),
ListView.builder(
physics: NeverScrollableScrollPhysics(), // and this
shrinkWrap: true,
itemCount: itemList.length,
itemBuilder: (BuildContext context, int index) {
final itemData = itemList[index];
return Card(
child: ListTile(
title: Container(
width: MediaQuery.of(context).size.width,
child: Text(
itemData.text,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: Theme.of(context).textTheme.headline5,
),
),
),
);
},
),
],
),
)
安全区(
子:ListView(
物理:AlwaysScrollableScrollPhysics(),//添加此
填充:EdgeInsets.zero,
儿童:[
列表砖(
标题:文本(“占位符”),
),
ListView.builder(
物理学:NeverScrollableScrollPhysics(),//还有这个
收缩膜:对,
itemCount:itemList.length,
itemBuilder:(构建上下文,int索引){
最终项目数据=项目列表[索引];
回程卡(
孩子:ListTile(
标题:集装箱(
宽度:MediaQuery.of(context).size.width,
子:文本(
itemData.text,
maxLines:1,
溢出:TextOverflow.省略号,
风格:Theme.of(context).textTheme.headline5,
),
),
),
);
},
),
],
),
)
现在您的列表应该可以滚动了。效果很好,非常感谢。我对物理学一无所知