share static method
分享
@param subject 主题, 邮箱标题
@param title 标题
@param text 文本
@param url 链接 https://www.apple.com
@param files 文件 XFile('${directory.path}/image1.jpg')...
Implementation
static Future<bool> share({
String subject = '',
String title = '',
String text = '',
String url = '',
List<XFile> files = const [],
}) async {
EasyLoading.show();
ShareResult shareResult;
ShareParams shareParams;
if (files.isNotEmpty) {
shareParams = ShareParams(files: files);
} else if (url.isNotEmpty) {
shareParams = ShareParams(title: title, uri: Uri.parse(url));
} else {
shareParams = ShareParams(subject: subject, title: title, text: text);
}
//检查是否是iPad
if (GetPlatform.isIOS && Get.context?.isTablet == true) {
// 获取屏幕尺寸
final Size screenSize = MediaQuery.of(Get.context!).size;
// 自定义固定值的 sharePositionOrigin
final Rect sharePositionOrigin = Rect.fromCenter(
center: Offset(screenSize.width / 2, screenSize.height / 2), // 屏幕中心点
width: screenSize.width / 2, // 屏幕宽度的一半
height: screenSize.height / 2, // 屏幕高度的一半
);
if (files.isNotEmpty) {
shareParams = ShareParams(files: files);
} else if (url.isNotEmpty) {
shareParams = ShareParams(
title: title,
uri: Uri.parse(url),
sharePositionOrigin: sharePositionOrigin,
);
} else {
shareParams = ShareParams(
subject: subject,
title: title,
text: text,
sharePositionOrigin: sharePositionOrigin,
);
}
}
shareResult = await SharePlus.instance.share(shareParams);
EasyLoading.dismiss();
if (shareResult.status == ShareResultStatus.dismissed) {
return false;
}
Logger.log('Thank you for sharing my website!');
return true;
}