flutter_slidable 没有 isOpen 字段?

标签 flutter

我有一个要求,当我的 flutter_slidable 打开时,点击它可以将其关闭,而不是执行我的 onTap 回调。

我没有看到用于检查可滑动部分是否打开的 isOpen 字段。我有一个解决方法,我可以检查 onTap 后需要多长时间才能关闭。如果它关闭得很快,我认为它已经关闭了。

有“真正”的方法吗?这是我的解决方法

const int closingTimeMS = 500;
final stopwatch = Stopwatch();
stopwatch.start();
await slidable.close(duration: const Duration(milliseconds: closingTimeMS));
if (stopwatch.elapsedMilliseconds < closingTimeMS / 2) {
    myOnTap();
}

最佳答案

onTap/onPressed 中调用此方法为我解决了这个问题

final isClosed = Slidable.of(context)!.actionPaneType.value == ActionPaneType.none;

if (isClosed) {
  Slidable.of(context)!.openStartActionPane();
} else {
  Slidable.of(context)!.close();
}

关于flutter_slidable 没有 isOpen 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70266185/

相关文章:

flutter - 从 Rest API Flutter 获取数据时显示百分比指示器

json - 从 Dart 中的嵌套 map 获取字符串

dart - Flutter widgets 极致代码缩进

dart - Flutter 有 "overscroll gesture recognizer"小部件吗?

flutter - 在页面开始运行方法

android - 从Flutter项目构建APK时出错

flutter - 如何使用 CachedNetworkImage 在 Flutter 中实现重试?

flutter - 将 Uint8List 转换为 flutter web 中的文件

flutter - 如何使用 `form.validate()` 调用特定验证器而不是同时调用所有验证器?

flutter - 在flutter中添加容器小部件时显示空白屏幕