Flutter-无法在Transform.scale小部件上保持缩放

时间:2019-03-01 07:54:01

标签: dart flutter

我正在尝试为我的应用在抖动相机包中构建一些缩放功能。目前,我可以通过将CameraPreview小部件包装在Transform.scaleGestureDetector中来使用缩放功能。但是,无论何时放大,都无法保持缩放。目前,在缩小和缩放后放开时,它会恢复到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),
                            ),
                          ),
                        );
                      }),
                    ),
                  )

0 个答案:

没有答案