事实上,Flatter大量使用单词widget,因此很难找到关于这个主题的文档.

有可能在Dart&Ffltter中构建这样的"小部件"吗?或者我是不是应该用java来做这件事,然后用我的Ffltter应用程序把它插进go 呢?

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

编辑:我没有安卓开发经验,但听起来用a drawable canvas可能就行了.

编辑2:从this Github issue开始,看起来在Ffltter中编写Android Home小部件是不可能的,因为Ffltter有自己的渲染引擎.我热衷于学习kotlin来完成这项工作,但如果有人知道一些好的教程来帮助我,那将是非常有帮助的.

推荐答案

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

小部件的渲染能力非常有限;the documentation说明只能使用某些布局.从理论上讲,你可以使用Flatter的软件渲染器在一个独立的实例中渲染一个图像,并显示它,但这将是非常技术性的,可能不是很高的性能,而且一点也不简单!

Here是一个非常详细的小部件教程,它可以指导您创建一些Java示例.同样的逻辑也适用于Kotlin的一些语法变化,因为这些类几乎可以互换.然而,现实地说,大部分工作都是在安卓系统中进行布局和布线;如果你已经熟悉安卓&;Java,请记住,Kotlin确实增加了你的应用程序大小(kotlin on android FAQ个增加了The Kotlin runtime adds about 7,000 methods and ~1MB to your debug APK个),而且由于你的大部分逻辑都应该在flutter中,如果这就是你使用它的全部目的,你可能不会有那么多Kotlin/Java代码(尽管如果你对Java和Kotlin都不熟悉,Kotlin在某些方面可能更友好).

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

Flutter相关问答推荐

为什么我需要等待重新访问Firestore数据库,即使它已经做了之前?

Android NFC未收到空的NFC标签

如何将assets资源 实体类型转换为文件类型?

如何创建这样的按钮

我怎样才能go 掉这个底部导航栏上的白色背景

从.gitignore中排除.fvm/fvm_config.json

应为Map String,dynamic类型的值,但得到的值为type()= Map String,dynamic'

使用现有Map方法对子类克隆方法的逻辑进行Dart标准化

尽管 onCollision 处理了我的角色还是从平台上掉了下来

处理 flutter/dart 模型中的空值

Flutter:在 pubspec.yaml 中找不到assets资源

Dart:未捕获错误:RangeError(索引):索引超出范围:索引应小于 7:7

在 Flutter 中解码 BLE 设备负载

Flutter:如何在现有布局之上显示圆角布局?

Flutter开发中,如何通过'nfc_manager'插件在Android设备上避免默认的New Tag Scanned弹出窗口?

Flutter列顶部和底部出现不必要的边距问题

Flutter blue plus 库,当try 从 esp32 驱动程序获取 PlatformException 时读取特性

这是使用导航功能处理从一页到另一页的移动的最佳方式

Listview 如何转到下一行/新行?

如何按值对列表中的 map 进行排序