0

我正在尝试使用颤振包模态底页重新创建此动画。我可以重现拖动动画,但我不知道如何在拖动容器上同时使用物理和动画控制器,所以这是我的解决方案:

  Positioned(
          bottom: 5,left: 5,right: 5,
          child: NotificationListener<ScrollNotification>(
            onNotification: (scroller) {
              if(scroller.metrics.pixels > -20 && widget.isDismissble){
                mounted = false;
                startDownAnimation();
              }
              setState(() {
                if(mounted){
                  _offset = widget.initHeight + (scroller.metrics.pixels / 2);
                }
              });
              return false;
            },
            child:  Container(
              constraints:  BoxConstraints(
                  maxHeight: maxY
              ),
              height: _offset,
              clipBehavior: Clip.antiAlias,
              decoration: const BoxDecoration(
                  borderRadius: BorderRadius.only(topLeft: Radius.circular(20),topRight: Radius.circular(20),bottomLeft: Radius.circular(50),bottomRight: Radius.circular(50)),
                  color: Colors.white),
              child:  SingleChildScrollView(
                physics: const CustomPhysic(
                    parent: AlwaysScrollableScrollPhysics()),
                controller: scrollController,child: Center(
                child:  Placeholder(),
              ),)),
          ),
        )

这是应该如何完成的视频:

我多么想要

我尝试时的样子

问题是占位符以更大的速度沿着阻力移动。

4

0 回答 0