Flutter大量使用单词widget这一事实使得很难找到关于这个主题的文档。 在Android上(我相信这在iOS上是不可能的),我们可以在家庭仪表板上添加小部件,允许查看与应用相关的信息或触发一键操作,而无需打开相关应用。
是否有可能在Dart& amp;中构建这样的“小工具”?颤抖?或者我应该在java中使用我的flutter应用程序插入它吗?
您可以共享一个示例或包含一个的资源吗?
编辑:我没有Android开发经验,但听起来好像使用a drawable canvas可能会有所帮助。 我可以找到some canvas flutter code,但我还无法连接点。编辑2:从this Github issue开始,看起来像flutter编写android主页小部件是不行的,因为Flutter有自己的渲染引擎。我热衷于学习kotlin来完成这项工作,但如果有人知道有很好的教程来帮助我,那将会非常有帮助。
答案 0 :(得分:3)
正如编辑中提到的OP,目前还不可能,因为Flutter使用自定义渲染引擎。
小部件在他们可以呈现的内容方面非常有限; the documentation解释说只能使用某些布局。理论上你可以使用Flutter的软件渲染器渲染到一个单独的实例中的图像并显示它,但这将是非常技术性的,可能不是非常高效,而且根本不是直截了当的!
Here是一个非常详细的小部件教程,可以指导您创建一些示例,尽管是在Java中。同样的逻辑适用于Kotlin的一些语法变化,因为类几乎可以互换。但是,实际上,大多数工作都是在android中布局的一些布线;如果你已经熟悉Android& Java,请记住,Kotlin会为您的应用程序大小添加一些内容(kotlin on android FAQ中的The Kotlin runtime adds about 7,000 methods and ~1MB to your debug APK
)并且由于您的大多数逻辑都应该在颤动中,因此您可能无法获得所有这些Kotlin / Java代码如果您正在使用它(尽管如果您不熟悉Java和Kotlin,Kotlin在某些方面可能更友好)。
此外,为了能够在您的flutter应用程序和java / kotlin后端之间进行通信,您需要使用flutter documentation中所述的平台频道。