我有一个包装在另一个列表视图中的列表视图。内部列表视图不应是可滚动的,我希望当应用程序外的用户单击列表图块时,整个页面都向下滚动。因此顶部消失,用户可以看到列表视图的其余部分。目前,这是可能的,但仅当用户单击外部屏幕的小边缘时才可以。当有人单击ListTile Directyl时,没有任何反应。
这是外部列表视图
ListView(children: <Widget>[
new Column(children: <Widget>[
Container(
child: Stack(
alignment: Alignment.bottomCenter,
overflow: Overflow.visible,
这是内部ListView
Container(
padding: EdgeInsets.only(left: 20.0, right: 20.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ListView(
physics: const AlwaysScrollableScrollPhysics(),
controller: _list,
scrollDirection: Axis.vertical,
shrinkWrap: true,
padding: const EdgeInsets.all(8.0),
children: <Widget>[
Card(
child: ListTile(
leading: ConstrainedBox(
答案 0 :(得分:1)
请使用ScrollController.jumpTo()或ScrollController.animateTo()方法来实现。
例如:
class _HomeScreenState extends State<HomeScreen> {
ScrollController _ScrollController = ScrollController();
@override
Widget build(BuildContext context) {
Timer(Duration(milliseconds: 1000), () => _ScrollController.jumpTo(_ScrollController.position.maxScrollExtent));
return ListView.builder(
controller: _controller,
itemCount: 50,
itemBuilder: (context, index) => ListTile(title: Text("ListTile"),));
}
}
您和您要滚动的任何列表上的这个。 您还可以使用以下代码禁用滚动。
物理:const NeverScrollableScrollPhysics()