是否可以在 Flutter 中使用手写笔输入?

Posted

技术标签:

【中文标题】是否可以在 Flutter 中使用手写笔输入?【英文标题】:Is it possible to take stylus input in Flutter? 【发布时间】:2019-12-19 17:38:26 【问题描述】:

我想用 Flutter 做一个绘图应用。有一个名为 CustomPaint 的小部件,可让您轻松拥有 Canvas 并用手指在其上绘图。

假设我想使用带有专用触控笔的平板电脑,CustomPaint 会自动考虑压力敏感度。

如果没有,我应该怎么做才能让我的应用支持手写笔。

我一直在寻找示例应用程序,但我发现的唯一应用程序甚至没有提到压力感应的可能性,甚至只是简单地使用手写笔。

示例应用

https://github.com/vemarav/signature

https://github.com/psuzn/draw-it

【问题讨论】:

似乎是这样,虽然我没有深入研究它。 api.flutter.dev/flutter/dart-ui/PointerData-class.html 但是,它可能在 Windows 和 Linus 上尚不支持(Flutter 存储库下的问题 #65248 和 #63209) 【参考方案1】:

对于基本输入处理,您可以使用GestureDetector 小部件。

对于低级输入检测,您可以使用具有 onPointerDownonPointerMoveonPointerHoveronPointerUp 事件侦听器(以及更多)的 Listener 小部件,您可以使用它来获取你的手写笔。

您可以从监听器获得的信息可以在每个事件监听器给出的相应PointerEvent 下找到。您可以从PointerEvent 获得的信息之一是pressure

您可以在Taps, drags, and other gestures下找到输入检测的基本介绍。

【讨论】:

以上是关于是否可以在 Flutter 中使用手写笔输入?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 HTML5 网页上接受手写笔输入

Flutter 如何将裁剪器添加到 fl_chart (CustomPainter)

Flutter 中的持久代码

Flutter — 文本为什么可以被编辑?如何自定义编辑的行为?

Flutter — 文本为什么可以被编辑?如何自定义编辑的行为?

是否可以在网络浏览器中检测到被动手写笔