当前位置: 首页 > 知识库问答 >
问题:

有可能在Flutter中构建android小部件吗?

马煌
2023-03-14

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

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

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

编辑:我没有android开发经验,但听起来使用可绘制的画布可能会很成功。我可以找到一些帆布颤振代码,但我还不能连接点。

编辑2:从Github的这个问题来看,在flutter中编写android home小部件似乎是不可能的,因为flutter有自己的渲染引擎。我热衷于学习kotlin来完成这件事,但如果有人知道有很好的教程来帮助我,那将是非常有帮助的。

共有1个答案

壤驷旭
2023-03-14

正如编辑中提到的那样,这目前是不可能的,因为Flutter使用自定义呈现引擎。

小部件可以呈现的内容非常有限;文档解释说,只能使用某些布局。理论上,您可以使用Flutter的软件渲染器在一个与主实例分离的实例中渲染一个图像并显示它,但这将是非常技术性的,可能不是很好的性能,而且根本不简单!

下面是一个非常详细的小部件教程,指导您创建几个示例,尽管是用Java编写的。同样的逻辑也适用于Kotlin,因为这些类几乎可以互换。然而,现实地看,大部分工作都是在Android中带有一些布线的布局中;如果您已经熟悉了Android和Java,请记住,Kotlin确实增加了应用程序的大小(Kotlin运行时从Android FAQ上的Kotlin添加了大约7000个方法和1MB的调试APK),而且由于大部分逻辑应该是flutter,如果您只使用它,那么可能不会有那么多Kotlin/Java代码(尽管如果您对Java和Kotlin都不熟悉,Kotlin在某些方面可以说更加友好)。

此外,为了能够在flutter应用程序和Java/Kotlin后端之间进行通信,您需要使用flutter文档中描述的平台通道。

 类似资料:
  • 每当我试图更改可见性的状态时,setState都不起作用,尽管在控制台中打印的消息被更正了。这是我的浮动操作按钮缠绕了几个小部件。问题是每当我点击它时,isVisible属性应该被更改为false,它应该是不可见的,但这并没有发生。“Pressed Undo”(按下撤消)打印在控制台中。

  • 我有一些使用Java语言的android Studio构建android应用程序的基本知识。现在我想开始学习颤振,但对一些事情不太确定。我读到有可能使用flutter构建跨平台的移动应用程序,我可以使用android studio来构建这些应用程序。使用flutter还可以构建网站和桌面项目。 我的困惑是: 1) 我可以使用带flutter的Android Studio IDE来构建移动应用程序(

  • 问题内容: 开发人员文档似乎使我失败了。我可以不假思索地创建一个静态窗口小部件,甚至可以创建一个会自动更新的类似模拟时钟窗口小部件的窗口小部件,但是,我一辈子都无法弄清楚如何创建一个在用户单击时做出反应的窗口小部件。它。这是开发人员文档提供的小部件活动应包含的内容的最佳代码示例(唯一的其他提示是API演示,它仅创建一个静态小部件): 来自:Android开发人员文档的小部件页面 因此,看起来像单击

  • 在https://help.gradle.org获得更多帮助

  • 所以我一直在尝试只在ios上添加一些填充,而不是在Android上。是否有任何方法可以检查我是否使用android或ios,以便在我的应用程序中实现此功能。提前谢谢。