事实上,Flutter 大量使用“widget”一词,因此很难找到有关该主题的文档。
在 Android 上(我相信这在 iOS 上不可能),我们可以在主仪表板上添加小部件,使我们能够查看与应用程序相关的信息或触发一键操作,而无需打开相关应用程序。
是否可以在 Dart & Flutter 中构建这样的“小部件”?或者我应该在 java 中执行此操作并以某种方式将其插入我的 flutter 应用程序?
您能分享一个包含该资源的示例吗?
编辑:我没有android开发经验,但这听起来像使用可绘制的画布 https://developer.android.com/guide/topics/graphics/2d-graphics.html可能会成功。
我能找到一些画布颤动代码 https://github.com/flutter/flutter/blob/master/examples/layers/raw/canvas.dart,但我还无法将这些点连接起来。
编辑2:来自这个 Github 问题 https://github.com/Solido/awesome-flutter/issues/30,看起来在 flutter 中编写 android home widget 是行不通的,因为 Flutter 有自己的渲染引擎。我热衷于学习kotlin https://flutter.io/platform-channels/#example-kotlin完成这项工作,但如果有人知道很好的教程来帮助我,那将会非常有帮助。
正如编辑中提到的 OP,目前这是不可能的,因为 Flutter 使用自定义渲染引擎。
小部件可以渲染的内容非常有限;文档 https://developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout解释说只能使用某些布局。理论上,您可以使用 Flutter 的软件渲染器在与主实例不同的实例中渲染图像并显示该图像,但这会非常技术性,可能性能不太好,而且一点也不简单!
Here https://medium.com/android-bits/android-widgets-ad3d166458d3是一个非常详细的小部件教程,它指导您使用 Java 创建一些示例。对于 Kotlin,只需进行一些语法更改即可应用相同的逻辑,因为这些类几乎可以互换。然而,实际上,大部分工作都是在布局中进行的,并在android中进行了一些布线;如果您已经熟悉 Android 和 Java,请记住 Kotlin 确实会增加您的应用程序大小(The Kotlin runtime adds about 7,000 methods and ~1MB to your debug APK
来自Android 上的 kotlin 常见问题解答 https://developer.android.com/kotlin/faq.html)并且由于您的大部分逻辑应该处于颤振状态,如果这就是您使用它的全部内容,您可能不会有那么多的 Kotlin/Java 代码(尽管如果您对 Java 和 Kotlin 都是新手,那么 Kotlin 可以说是在某些方面更友好)。
此外,为了能够在 flutter 应用程序和 java/kotlin 后端之间进行通信,您需要使用平台通道,如颤振文档 https://flutter.io/platform-channels/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)