gpt4 book ai didi

flutter - 是否可以在 Flutter 中禁用可解雇的功能?

转载 作者:行者123 更新时间:2023-12-03 08:18:00 26 4
gpt4 key购买 nike

我正在构建一个基于 InteractiveViewer 构建的图像查看器。 InteractiveViewer 封装在 Dismissible 中,当向上滑动图像时,它将关闭小部件。

        Listener(

onPointerMove: (PointerMoveEvent event) {

if (_transformationController.value.getMaxScaleOnAxis() > 1.0) {
_canBeDismissed = false; }
else { _canBeDismissed = true; }

},
child: AnimatedOpacity(
opacity:_opacity,
duration: const Duration(milliseconds: 200),
child: Dismissible(
//direction: DismissDirection.vertical,
direction: (_canBeDismissed == true) ? DismissDirection.vertical : DismissDirection.vertical,
key: daKey,
onDismissed: (_) => Navigator.of(context).pop(),
child: GestureDetector(
onDoubleTapDown: _handleDoubleTapDown,
onDoubleTap: _handleDoubleTap,
child: InteractiveViewer(
transformationController: _transformationController,
child:
Container(
alignment: Alignment.center,
decoration: BoxDecoration(
image:
DecorationImage(
image:
CachedNetworkImageProvider(image),
fit: BoxFit.contain,
),
),
),
),
),
),
),
)
);

但是,当图像放大并且用户尝试平移图像时,它会忽略该图像,而不是让用户平移图像。

所以我想在图像缩放时简单地禁用“Dismissible”。我可以使用 Listener 检测图像何时缩放,并将变量 _canBeDismissed 设置为 true 或 false - 这不是问题。

问题是如何以编程方式禁用可解雇功能?

我试图弄乱解雇方向并将其设置为null,如下所示:

direction: (_canBeDismissed == true) ? DismissDirection.vertical : null,

但我猜你不允许将其设置为空,所以这不起作用。我希望有某种 enabled 标志可以解决我的问题。有任何想法吗?或者实现我的最终目标的其他方法,即拥有一个用户可以缩放和平移但也可以通过向上滑动来关闭的图像小部件,类似于 Twitter。 (我已经尝试过 pub.dev 上的一些大型存储库,但它们似乎都有错误或无法实现)

谢谢!

最佳答案

您可以通过这样设置方向来禁用,

direction: DismissDirection.none

关于flutter - 是否可以在 Flutter 中禁用可解雇的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68751473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com