是否可以在 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
小部件。
对于低级输入检测,您可以使用具有 onPointerDown
、onPointerMove
、onPointerHover
和 onPointerUp
事件侦听器(以及更多)的 Listener
小部件,您可以使用它来获取你的手写笔。
您可以从监听器获得的信息可以在每个事件监听器给出的相应PointerEvent
下找到。您可以从PointerEvent
获得的信息之一是pressure
。
您可以在Taps, drags, and other gestures下找到输入检测的基本介绍。
【讨论】:
以上是关于是否可以在 Flutter 中使用手写笔输入?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 如何将裁剪器添加到 fl_chart (CustomPainter)
Flutter — 文本为什么可以被编辑?如何自定义编辑的行为?