HarmonyOS 鸿蒙Next 中 plugin 获取flutter图片资源问题

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 中 plugin 获取flutter图片资源问题

在使用plugin时, 鸿蒙会返回这个类型的对象binding: FlutterPluginBinding,使用这个对象的binding.getFlutterAssets().getAssetFilePathByName(‘xxxx’) 获取flutter代码库中的图片资源时,鸿蒙原生端无法获取到图片资源(鸿蒙端直接用Image(this.img)方法加载)。说有什么别的方法能够获取到?
 


关于HarmonyOS 鸿蒙Next 中 plugin 获取flutter图片资源问题的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

2 回复

binding.getFlutterAssets().getAssetFilePathByName('xxxx')得到的只是资源路径,

加载原生图片资源可以试试下面的代码:  

[@State](/user/State) imageSource:image.ImageSource|null=null  

  

async aboutToAppear()  

{  

let args: HashMap<string, object | string> = this.viewManager.args as HashMap<string, object>  

this.image = args.get(‘src’) as string  

let rmg = DemoPluginAssetPlugin.binding.getApplicationContext().resourceManager;  

let rawfile = await rmg.getRawFileContent(“flutter_assets/”+this.image );  

let buffer = rawfile.buffer.slice(0);  

this.imageSource = image.createImageSource(buffer);  

}  

  

build() {  

Column(){  

if(this.imageSource){  

Image(this.imageSource.createPixelMapSync())  

}  

}  

}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

let rawfile = await rmg.getRawFileContent(“flutter_assets/”+this.image );

这行代码为耗时操作,debug时会暂不执行当前方法的剩余代码直到耗时操作返回结果,而进入build只是正常渲染流程

可以了,感谢

回到顶部