【发布时间】:2019-12-04 05:20:24
【问题描述】:
目前,我想使用以下代码使用esys_flutter_share 和wc_flutter_share 插件与其他应用分享我的图像。
import 'package:esys_flutter_share/esys_flutter_share.dart' as esysShare;
import 'package:wc_flutter_share/wc_flutter_share.dart';
import 'package:flutter/material.dart';
import 'package:extended_image/extended_image.dart';
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: ExtendedImage.network(
"https://picsum.photos/250?image=9",
fit: BoxFit.cover,
width: 250,
height: 250,
//enableLoadState: false,
mode: ExtendedImageMode.gesture,
loadStateChanged: (ExtendedImageState state) {
switch (state.extendedImageLoadState) {
case LoadState.completed:
return GestureDetector(
onTap: () async {
ByteData data=await state.extendedImageInfo.image.toByteData();
print("data : ${data}");
Uint8List list=data.buffer.asUint8List();
print("list : ${list}");
// EasyFlutterShare plugin not working. It is also giving me a blackend screen as attached image
esysShare.Share.file("Share Image", "Test.png", list, "image/png");
// Even WcFlutterShare plugin not working. It is also giving me a blackend screen as attached image
WcFlutterShare.share(sharePopupTitle: "Share Image 2", mimeType: "image/*",bytesOfFile: list,fileName: "Test.png");
},
child: ExtendedRawImage(
image: state.extendedImageInfo?.image,
width: 250,
height: 250,
),
);
break;
case LoadState.loading:
return Center(
child: CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(Colors.blueAccent),
),
);
break;
case LoadState.failed:
return Center(
child: CircularProgressIndicator(
valueColor:
AlwaysStoppedAnimation<Color>(Colors.deepOrangeAccent),
),
);
break;
}
},
initGestureConfigHandler: (state) {
return GestureConfig(
minScale: 0.9,
animationMinScale: 0.7,
maxScale: 3.0,
animationMaxScale: 3.5,
speed: 1.0,
inertialSpeed: 100.0,
initialScale: 1.0,
inPageView: false);
},
),
),
);
}
我没有收到任何错误。但是,我的屏幕在分享图像时变黑了。
在我的情况下,两个插件都给我一个黑屏作为附加图像。
建议一个变通的解决方案。
谢谢。
【问题讨论】:
标签: android flutter share flutter-layout flutter-dependencies