是否可以在 flutter 中构建 android 小部件?

2023-12-30

事实上,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(使用前将#替换为@)

是否可以在 flutter 中构建 android 小部件? 的相关文章

随机推荐

  • 将无功输出存储在向量中 - Shiny R

    我正在致力于构建一个闪亮的应用程序 我使用了一些过滤器并渲染了一个数据框 并且数据框根据用户输入动态变化 但我无法将数据框中的特定列值存储到向量中 我需要每次将无功输出存储到向量中 以便稍后可以再次使用这些值 这里的值存储在text vec
  • 如何检索嵌套的 Set?

    我是否缺少注释或者这是休眠检索的限制 实体 class A Long id Set b b ManyToMany fetch FetchType EAGER JoinTable name A B joinColumns JoinColumn
  • 无法更改自定义评级栏的大小

    我正在尝试为我的 Android 应用程序制作自定义评级栏 其中我可以更改评级栏的默认大小和颜色 为此 我编写了样式自定义评级栏像这样 But the size is not changed rather it
  • 将 Pandas Dataframe 转换为自定义嵌套 JSON

    我必须将 Pandas Dataframe 转换为嵌套 json 我尝试使用 to json 但它将整个数据帧转换为键值对 不知道如何转换这样的嵌套 json 非常感谢任何帮助 我的数据框 df pd DataFrame id 1 2 3
  • pydev importerror:没有名为 thread 的模块,pydev 升级后调试不再起作用

    我的 Eclipse 3 6 PyDev 设置刚刚将 pydev 升级到 1 6 0 2010071813 并且调试不再有效 我的默认 python 解释器是 3 1 尽管我怀疑这是否重要 在 Eclipse 升级 pydev 之前 它运行
  • 使用 pxssh 时无法为 pexpect 导入名称“spawn”

    这是我试图运行的代码 from pexpect import pxssh s pxssh pxssh if not s login myip myusername mypassword print SSH session failed on
  • 如何在 Xcode 4 中调试“Xcode CodeSign 错误:权利文件 Entitlements.plist 丢失”?

    当我尝试 CMD I 配置文件 设备上的应用程序时 Xcode 会引发此错误 跑步就好 仅分析不起作用并给出此错误 Entitlements plist 的路径是伪造的 并且指向不再存在的位置 我不想进行临时分发 只需在设备上分析我的应用程
  • xargs 输出缓冲 -P 并行

    我有一个 bash 函数 我使用 xargs P 并行调用 如下所示 echo list xargs n 1 P 24 I bash l c myAwesomeShellFunction 一切正常 但输出由于明显的原因而混乱 无缓冲 试图找
  • threads.get() 和 messages.get() 按什么顺序返回项目列表?

    似乎没有记录threads get 和messages get 如何对它们返回的结果进行排序 顺序是按日期 时间降序排列吗 通过谷歌来到这里 因为我自己正在寻找这个 经过更多挖掘后 似乎messages list根据返回消息historyI
  • 为变量创建本地别名是否会像循环一样加快列表理解速度?

    名称查找在 Python 中相对昂贵 因此对于大型循环 您可以通过更改以下内容来获得性能优势 for element in my list do something element 类似的东西 ds do something for ele
  • Java bean、注释:它们的作用是什么?他们如何帮助我?

    到目前为止 我的理解如下 Java bean 只是为了帮助其他事物 视觉事物 与您的代码交互 我认为这主要是针对 UI 的东西 因为视觉上的设计更容易 将 Java bean 用于非 UI 事务是一种不好的做法吗 Java bean 具有
  • Hive 中的列到逗号分隔值

    它已被询问并回答了 SQL 将多行转换为一行 并以逗号作为分隔符 https stackoverflow com questions 887628 convert multiple rows into one with comma as s
  • jQuery 不是函数错误

    这个说法有什么问题吗 message contact form find long text if message val length lt 15 message css border 2px solid red alert Your m
  • 如何让 __debugInfo 与 XDebug 一起使用?

    它似乎 debugInfoxdebug 覆盖时不起作用var dump 有办法让这个工作吗 我正在使用 PHP 5 6 0 和 XDebug 2 2 5 该问题现已在 Xdebug 中修复 即将发布 https github com xde
  • 即使查询结束后,pgAdmin 查询工具仍保持冻结状态

    我在 Windows 7 笔记本电脑上运行 postgresql 9 6 没有其他人连接到数据库 我在 Pgadmin4 的查询工具中运行了插入 SQL 大约20分钟后查询结束 记录已插入 pg stat activity 中的状态从活动状
  • 快速适配器位置

    我用的很快adapter迈克 彭兹 mike penz 我正在尝试从其中删除该项目adapter 就像当我按下接受按钮时 必须从列表中删除该项目 但要删除类似的内容 我需要在其中传递位置变量 但我无法从列表中获取位置变量adapter Ma
  • 在 Paint 方法之外绘制图形

    private void draw shape Graphics g getGraphics g drawLine 0 0 100 100 repaint 在 Paint 方法中 仅绘制那些图形 这些图形是 Paint 方法的一部分 因此
  • 外部文件中两个冲突的 CSS 样式的规范行为是什么?浏览器对此的支持程度如何?

    假设我有两个包含样式的文件 a css 和 b css 我将它们导入到我的页面中部分 这两个外部文件都定义了类的样式 someclass 哪一个优先 是否有任何基于 css 文件导入顺序的保证来说明应使用哪种样式 他们是级联样式表 具有相同
  • system() 有什么不好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 鉴于您正在构建一个 Windows 专用程序 为什么要调用system 这么讨厌 自从我开始使用 C 编程以来 不要碰系统 是我经常听到的一句话
  • 是否可以在 flutter 中构建 android 小部件?

    事实上 Flutter 大量使用 widget 一词 因此很难找到有关该主题的文档 在 Android 上 我相信这在 iOS 上不可能 我们可以在主仪表板上添加小部件 使我们能够查看与应用程序相关的信息或触发一键操作 而无需打开相关应用程