是否可以在flutter中开发移动键盘应用程序

Pew*_*osh 9 android custom-keyboard flutter

我们想开发具有一些独特功能(例如在键盘上翻译)的移动键盘应用程序(第三方键盘)。

我们想知道是否有一种方法可以同时为 IOS 和 Android 开发它,使用 Flutter 或任何其他解决方案?

rmt*_*zie 11

对此有一个长短的答案。简短的回答基本上是否定的,目前这样做是不可行的。

长的答案是它可能在某种程度上是可能的,但是您需要做大量的工作。您将必须首先在 android 和 ios 中创建合适的项目类型,然后导入 dart 代码并设置构建。您可以从普通的 flutter 应用程序开始,然后修改 xcode/gradle 构建以匹配 ios/android 的具体情况,但我猜这不太可能。因此,您可能仍需要维护两个单独的项目,但它们可以为 UI 导入相同的 dart 库。

由于 Android 和 iOS 为其键盘使用不同的 API,因此您将需要为iOS 和 Android 中的每一个编写平台插件或至少在您的应用程序和本机代码之间进行通信的方法通道。您可能还必须自己嵌入颤振视图 - 请参阅此示例,因为我敢打赌普通的 FlutterApplication 等将不适用。

我猜想,在 android 上,您可能最终会通过大量工作(取决于您对 android、平台通道以及将 flutter 之类的库集成到构建中的熟悉程度)使其工作;在 iOS 上,您可能很幸运,但可以想象,出于性能或安全原因,iOS 阻止了键盘中颤动需要的某些功能 - 只是从我在本机 iOS 中开发应用程序的经验中猜测,尽管我没有专门做过键盘。

话虽如此,如果您确实尝试这样做,我会很想知道结果,如果您以一种可以重复使用的通用方式进行操作,那将对 Flutter 社区大有裨益!

  • @BasedMusa我认为自从我写它以来这个问题的答案没有显着改变 - flutter 没有明确支持制作键盘应用程序,但我不明白为什么它不可能......只是很多努力让事情顺利进行。我首先在您选择的平台上创建一个简单的本机键盘应用程序,然后按照有关如何手动集成颤动视图的文档进行操作。 (2认同)