首页 > 解决方案 > 将 Flutter 图标传递给 android java

问题描述

我正在尝试找到一种方法将参数从我的颤振/飞镖应用程序传递到我用 java 编写的插件。我的目标是让 dart 代码将标准Icon作为参数传递给插件,后者将其显示在ImageView. 我的尝试是传递IconData包含图标的字体和 unicode 以及该图标的十六进制颜色。在插件方面,将使用IconData和从十六进制颜色应用颜色来检索该图标。

我可以像任何其他参数一样将参数传递给插件,String但我没有找到执行 java 部分的方法。我尝试过创建Bitmaps然后更改它们的颜色,但这根本不起作用。

我在问是否有一种已知的方法可以将图标从飞镖传递到颤动,特别是当它们基于外部字体时?

标签: javaandroidfluttericons

解决方案


您可以将图像名称作为字符串传递给您的 android 插件,并使用 AssetManager 获取路径,如颤振文档中所述。

例如:

    val assetManager: AssetManager = registrar.context().assets
    val key: String = registrar.lookupKeyForAsset("image")
    val fd = assetManager.openFd(key)
    val image = BitmapFactory.decodeStream(fd.createInputStream())

推荐阅读