首页 文章

我们可以在sputter中构建android小部件吗?

提问于
浏览
6

Flutter大量使用单词小部件的事实使得很难找到关于这个主题的文档 . 在Android上(我相信这在iOS上是不可能的),我们可以在家庭仪表板上添加小部件,允许查看与应用相关的信息或触发一键操作,而无需打开相关应用 .

是否有可能在Dart&Flutter中构建这样的“小部件”?或者我应该在java中这样做,并以某种方式插入我的flutter应用程序?

你能分享一个例子或包含一个的资源吗?

编辑:我没有Android开发经验,但听起来像使用a drawable canvas可能会做的伎俩 . 我能找到some canvas flutter code,但我无法连接点 .

编辑2:从this Github issue开始,由于Flutter拥有自己的渲染引擎,因此在flutter中编写android主页小部件似乎是不可取的 . 我热衷于学习kotlin来完成这项工作,但如果有人知道很好的教程来帮助我,那将是非常有帮助的 .

1 回答

  • 2

    正如编辑中提到的OP,这当前不可能,因为Flutter使用自定义渲染引擎 .

    小部件在它们可以呈现的内容方面非常有限; the documentation解释说只能使用某些布局 . 理论上你可以使用Flutter的软件渲染器渲染到一个单独的实例中的图像并显示它,但这将是非常技术性的,可能不是非常高效,而且根本不是直截了当的!

    Here是一个非常详细的小部件教程,它指导您创建一些示例,尽管在Java中 . 同样的逻辑适用于Kotlin的一些语法变化,因为类几乎可以互换 . 但是,实际上,大多数工作都是在android中布局一些布线;如果您已经熟悉Android和Java,请记住Kotlin确实会为您的应用程序大小添加一些内容(kotlin on android FAQ来自kotlin on android FAQ),并且由于您的大部分逻辑都应该处于颤动状态,您可能会赢得't have all that much Kotlin/Java code if this is all you'重新使用它(尽管如果你是Java和Kotlin的新手,可以说Kotlin在某些方面更友好 .

    此外,为了能够在您的flutter应用程序和java / kotlin后端之间进行通信,您需要使用_1091088中所述的平台通道 .

相关问题