我在一个ListView中嵌套了另一个ListView。 因此,我想通过编程方式禁用子ListView的滚动。 如何操作? 谢谢。
我在一个ListView中嵌套了另一个ListView。 因此,我想通过编程方式禁用子ListView的滚动。 如何操作? 谢谢。
NeverScrollableScrollPhysics()
。Expanded(
child: ListView.builder(
physics: NeverScrollableScrollPhysics(), <-----
scrollDirection: Axis.horizontal,
itemCount: status == false ? list.length : 5,
itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
value: list[i], child: ListItem()),
),
ScrollPhysics physics = AlwaysScrollableScrollPhysics();
return Stack(
children: [
ListView(
physics: physics,
),
RaisedButton(
child: Text("Disable scrolling"),
onPressed: () {
setState((){
if(physics is AlwaysScrollableScrollPhysics){
physics = NeverScrollableScrollPhysics();
} else {
physics = AlwaysScrollableScrollPhysics();
}
});
},
),
]
);
你需要在嵌套的列表视图中设置这个"physics"属性值为"NeverScrollableScrollPhysics"。
示例:
ListView.builder(
physics: NeverScrollableScrollPhysics(),
itemBuilder: () {}
),