我正在尝试为我的应用在抖动相机包中构建一些缩放功能。目前,我可以通过将CameraPreview
小部件包装在Transform.scale
和GestureDetector
中来使用缩放功能。但是,无论何时放大,都无法保持缩放。目前,在缩小和缩放后放开时,它会恢复到1.0比例。
我在这里做错什么了吗?我可以使用onDoubleTap函数来维持比例,但不能使用onScaleUpdate函数。
这是我的代码:
ClipRect(
child: AspectRatio(
aspectRatio: controller.value.aspectRatio,
child: LayoutBuilder(builder:
(BuildContext context, BoxConstraints constraints) {
return GestureDetector(
onDoubleTap: () {
setState(() {
scale = 4.0;
});
},
onScaleUpdate: (ScaleUpdateDetails details) {
print(details.scale);
setState(() {
scale = details.scale;
});
},
child: Transform.scale(
scale: scale,
child: AspectRatio(
aspectRatio: controller.value.aspectRatio,
child: CameraPreview(controller),
),
),
);
}),
),
)