flutter - 在不单击菜单项的情况下关闭 SelectableText 的上下文菜单
问题描述
在原生的情况下,如果我单击任何空白区域或按后退按钮,菜单就会消失。在 Flutter 的情况下,单击空白区域不会执行任何操作,然后按返回按钮会关闭应用程序。如果不单击“复制”之类的项目,就没有办法关闭上下文菜单吗?
此外,当我为 Windows 桌面运行相同的项目时,选择文本不会显示上下文菜单。我尝试了右键单击和长左键单击,但它们都没有使上下文菜单出现。如何在 Windows 上显示菜单?
SelectableText(
"Hello world",
),
解决方案
用点击事件(即 GestureDetector)包裹你的 Scaffold,并使用 FocusScopeNode 和 unfocus() 来关闭 SelectableText
return GestureDetector(
onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
if(!currentFocus.hasPrimaryFocus) {
currentFocus.focusedChild.unfocus();
}
},
child: Scaffold(
body: SelectableText("Hello World")
)
)
推荐阅读
- svn - 需要提交给 SVN 的新添加和修改的现有 C 函数列表
- python - PytestWarning:模块已导入,因此无法重写:pytest_remotedata
- java - 如何清除 JTable 中选定单元格的内容?
- python - 有什么算法可以应用于这个程序吗?
- kubernetes - 未能在超时期限内发送实例化交易并获得通知。未定义[fabric1.0 k8s]
- tensorflow - 在功能模式下连接层时出现 Keras 错误
- android - task.getResult().getDownloadUrl() 方法不起作用
- java - 带有 Spring Boot 的 Java Fx 启动画面
- c - 如何用strtol转换数字0?
- c++ - c++中如何识别链表函数的含义