Image Flatter InteractiveViewer类加载新图像时如何缩小/缩放
我喜欢它,它允许我的用户捏出放大图像的小部件 然而,它给了我一个错误。如果用户在图像上保持放大状态,然后退出包含该图像的“我的详细信息”屏幕,然后使用新的详细信息和图像再次激活“详细信息”屏幕,则新图像的放大量与旧图像的放大量相同。没有重置InteractiveViewer的比例 我试图通过在InteractiveViewer的构造函数中给它一个Image Flatter InteractiveViewer类加载新图像时如何缩小/缩放,image,flutter,zooming,Image,Flutter,Zooming,我喜欢它,它允许我的用户捏出放大图像的小部件 然而,它给了我一个错误。如果用户在图像上保持放大状态,然后退出包含该图像的“我的详细信息”屏幕,然后使用新的详细信息和图像再次激活“详细信息”屏幕,则新图像的放大量与旧图像的放大量相同。没有重置InteractiveViewer的比例 我试图通过在InteractiveViewer的构造函数中给它一个transformationController:imageZoomController,参数来重置它。然后,当我退出详细信息屏幕时,我尝试了image
transformationController:imageZoomController,
参数来重置它。然后,当我退出详细信息屏幕时,我尝试了imageZoomController.dispose()
,但是这会导致大量崩溃。。。嗯
它只需要重置为完全缩小,我需要重新触发InteractiveViewer的初始minScale:1,
参数
我不喜欢使用InteractiveViewer的onInteractionEnd
参数,因为当我故意放大图像并将其跳开时,我觉得这很烦人
感谢您的帮助。您可以试用此软件包: 它还允许我们双击以设置初始比例的动画,而无需触摸控制器 用法:
@override
Widget build(BuildContext context) {
return Container(
child: PhotoView(
imageProvider: AssetImage("assets/large-image.jpg"),
)
);
}
通过实验找到了一个解决方案,它似乎在模拟器中工作,不太清楚为什么,但我希望问题解决了
imageZoomController.value = Matrix4.identity();
Navigator.of(context).pop();
当我退出DetailsScreen时,旋转imageZoomController.value似乎会将InteractiveViewer重置为1的缩放
谢谢Thea的建议,如果其他人有我的问题&我的解决方案不起作用,那么试试Thea的插件
我将提供更多的上下文,小部件等,在未来,我的坏。抱歉@Nisanth你好。发布一些小部件代码,以便我们能够提供帮助。