【问题标题】:Nested ScrollView inside Slidable panel widget可滑动面板小部件内的嵌套 ScrollView
【发布时间】:2019-10-22 20:24:11
【问题描述】:

我有一个面板小部件,可以从屏幕底部垂直拖入和拖出。在该面板小部件中,有一个可滚动的 ListView

我想要实现的是,让面板处理打开和关闭的拖动,而不会干扰嵌套的列表视图。一旦面板打开,列表视图变为可滚动状态,如果列表视图在顶部时向下滚动,面板将处理手势并关闭。

像这样:

我尝试根据面板位置启用/禁用 ListView 上的滚动物理,但结果证明不可能。

有什么想法吗? :)

【问题讨论】:

  • 你试过我给你的解决方案了吗?我希望它有所帮助。
  • @PabloBarrera 结束了,我自己在DraggableScrollableSheet 中重新编码行为,但我会接受你的回答;)

标签: flutter


【解决方案1】:

您可以通过DraggableScrollableSheet 实现这一目标。

以下是如何使用它的简单示例:

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Stack(
      children: <Widget>[
        Center(child: Text('Some content')),
        DraggableScrollableSheet(
          minChildSize: 0.2,
          initialChildSize: 0.2,
          builder: (context, scrollController) => Container(
            color: Colors.lightBlueAccent,
            child: ListView.builder(
              controller: scrollController,
              itemCount: 20,
              itemBuilder: (context, index) => SizedBox(
                height: 200,
                child: Text('Item $index'),
              ),
            ),
          ),
        ),
      ],
    ),
  );
}

【讨论】:

    猜你喜欢
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多