【发布时间】:2018-12-24 08:53:10
【问题描述】:
Flutters 平台通道支持 null、int、double、string、list 和 map 等类型。但是如何获得特定于平台的类型,如可绘制对象?
【问题讨论】:
Flutters 平台通道支持 null、int、double、string、list 和 map 等类型。但是如何获得特定于平台的类型,如可绘制对象?
【问题讨论】:
您可以将Drawables 转换为Bitmap,然后将Bitmap 转换为base64 字符串并通过平台通道发送,然后使用Flutter 中的Image.memory 构造函数将图像转换回来。我不确定通过平台通道对字符串大小的限制,但只要您的图像不是很大,它应该可以工作。
以下是我参考的答案:https://stackoverflow.com/a/9224180/8338783 和 https://stackoverflow.com/a/46146008/8338783
【讨论】:
您也可以使用this library。
import 'package:drawable/drawable.dart';
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Image(image: DrawableImage("drawable_id")),
),
),
);
}
其中 "drawable_id" 是 R.drawable.drawable_id 的最后一部分
【讨论】: