想在draggableScrollablesheet中创建自定义滚动动画,但找不到方法

问题描述 投票:0回答:1

所以,我正在做一个颤振挑战,我已经完成了 50% 的动画,但是当我在draggableScrollableSheet 上创建自定义滚动动画时,如果用户向上滑动工作表,项目会通过夹紧和弹跳物理做出反应,但我无法使用draggablesheet找出该解决方案,因为它缺少物理参数。

您可以查看滚动动画的视频以获得更好的想法这里

任何帮助将不胜感激!

有关如何处理此滚动动画的建议。

flutter animation flutter-animation
1个回答
0
投票

您的链接无效。 这是一个简化的示例。

class CustomScrollableSheet extends StatefulWidget {
  @override
  _CustomScrollableSheetState createState() => _CustomScrollableSheetState();
}

class _CustomScrollableSheetState extends State<CustomScrollableSheet> {
  ScrollController _scrollController = ScrollController();
  double _scrollOffset = 0;

  @override
  Widget build(BuildContext context) {
    return NotificationListener<ScrollUpdateNotification>(
      onNotification: (notification) {
        setState(() {
          _scrollOffset = _scrollController.offset;
        });
        return true;
      },
      child: DraggableScrollableSheet(
        initialChildSize: 0.5,
        minChildSize: 0.2,
        builder: (context, controller) {
          _scrollController = controller;
          return ListView.builder(
            controller: controller,
            itemCount: 50,
            itemBuilder: (context, index) => ListTile(
              title: Text('Item $index'),
            ),
          );
        },
      ),
    );
  }
}

您可以尝试不同的

ClampingScrollPhysics
BouncingScrollPhysics
值和阻尼系数以获得所需的效果

© www.soinside.com 2019 - 2024. All rights reserved.