【发布时间】:2020-06-26 16:16:35
【问题描述】:
我想在颤动中放大图像,我可以使用GestureDetector 和TransForm 来做到这一点,但我无法在图像周围移动。它只是缩放。我想实现一些拖动,以便在缩放后我可以移动我的图像。
我该怎么做?
附:我尝试在GestureDetector 中使用onPanStart ...,但我不能同时使用onScaleStart 和onPanStart。
这是我的代码:
class _ImageViewState extends State<ImageView> {
File img;
double _scale = 1.0;
double _prev = 1.0;
_ImageViewState(this.img);
@override
Widget build(BuildContext context) {
return SafeArea(
child: GestureDetector(
onScaleStart: (ScaleStartDetails details){
setState(() {
_scale = _prev;
});
},
onScaleUpdate: (ScaleUpdateDetails details){
setState(() {
_scale = _prev * details.scale;
});
print(_scale);
},
onScaleEnd: (ScaleEndDetails details){
setState(() {
_prev = _scale;
});
},
child : Transform(
alignment : FractionalOffset.center,
transform: Matrix4.diagonal3(Vector3(_scale , _scale , _scale)),
child: Image.file(img),
)
),
);
}
}
【问题讨论】:
标签: android flutter flutter-layout