相关疑难解决方法(0)

如何平移和缩放图像?

我正在尝试为图像获得一些基本的平移和缩放功能。无状态版本可以显示图像(通过 Transform 旋转 180 度)并且 Scale 事件显示在日志中,但仅此而已。

GestureDetector获取平移/捏/展开事件的正确小部件吗?我应该查看转换、动画,还是应该只修改Image小部件内的字段?

无状态版本

// Wraps an Image widget to provide pan and zoom functionality.
class InteractiveImage extends StatelessWidget {
  InteractiveImage(this._image, {Key key}) : super(key: key);

  final Image _image;

  @override
  Widget build(BuildContext context) {
    return new Center(
      child: new GestureDetector(
        onScaleStart: (ScaleStartDetails details) => print(details),
        onScaleUpdate: (ScaleUpdateDetails details) => print(details),
        onScaleEnd: (ScaleEndDetails details) => print(details),
        child: new Transform(
          transform: new Matrix4.rotationZ(math.PI),
          alignment: FractionalOffset.center,
          child: _image,
        ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

有状态版本(不起作用) …

dart flutter

8
推荐指数
3
解决办法
2万
查看次数

标签 统计

dart ×1

flutter ×1