翻译小部件并不顺利

时间:2019-06-01 19:36:34

标签: flutter

我正在使用从屏幕中心开始的小部件。我希望当用户拖动窗口小部件时,窗口小部件从中心移动到顶部,反之亦然。

我已经用手势检测器包装了我的小部件,还使用了随用户拖动而更改Y值的Transform小部件。

当用户拖动Y位置时,我正在使用值通知程序。小部件将按预期方式拖动。

问题是窗口小部件的滚动不平滑。我已经尝试过使用动画控制器,但是我不太确定该怎么适应。

有没有一种方法可以在小部件上使用滚动动画以使其平滑?

下面是我要在拖动时翻译的小部件:

Transform(
  transform: Matrix4.translationValues(0, widget.verticalOffset, 0),
  child: Padding(
    padding: const EdgeInsets.symmetric(horizontal: 30.0),
    child: Container(
        color: Theme.of(context).primaryColor,
        child: GestureDetector(
            onVerticalDragUpdate: widget.handleDragUpdate,
            onVerticalDragEnd: _handleVerticalDragEnd,
            child: ListView.builder(
                controller: controller,
                physics: _getScrollPhysics(context),
                itemCount: widget.songs.length,
                itemBuilder: (BuildContext context, int index) {
                  return buildSongRow(widget.songs[index]);
              }
            )
          )
       ),
    ),
)

1 个答案:

答案 0 :(得分:0)

如果您正在调试模式下运行,这可能是结果。为了确保动画能够按照您希望的那样平滑运行,那么您需要在配置文件模式下运行动画。