我想使图像放大,我可以使用componentDidMount()
和A
来进行缩放,但是我无法在图像周围移动。它只是变焦。我想实施一些拖动操作,以便在缩放后可以在图像周围移动。
我该怎么办?
附言我尝试在GestureDetector
中使用TransForm
,但不能同时使用onPanStart ...
和GestureDetector
。
这是我的代码:
onScaleStart
答案 0 :(得分:1)
我试图在我的项目中实现类似的功能。我正在使用matrix_gesture_detector包并创建了以下自定义小部件:
import 'package:flutter/material.dart';
import 'package:matrix_gesture_detector/matrix_gesture_detector.dart';
class ZoomableWidget extends StatefulWidget {
final Widget child;
const ZoomableWidget({Key key, this.child}) : super(key: key);
@override
_ZoomableWidgetState createState() => _ZoomableWidgetState();
}
class _ZoomableWidgetState extends State<ZoomableWidget> {
Matrix4 matrix = Matrix4.identity();
Matrix4 zerada = Matrix4.identity();
@override
Widget build(BuildContext context) {
return GestureDetector(
onDoubleTap: (){
setState(() {
matrix = zerada;
});
},
child: MatrixGestureDetector(
shouldRotate: false,
onMatrixUpdate: (Matrix4 m, Matrix4 tm, Matrix4 sm, Matrix4 rm) {
setState(() {
matrix = m;
});
},
child: Transform(
transform: matrix,
child: widget.child,
),
),
);
}
}