|
|
|
// Dart imports:
|
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
// Flutter imports:
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
|
|
|
|
// Package imports:
|
|
|
|
import 'package:get/get.dart';
|
|
|
|
import 'package:image_picker/image_picker.dart';
|
|
|
|
import 'package:velocity_x/velocity_x.dart';
|
|
|
|
|
|
|
|
// Project imports:
|
|
|
|
import 'package:akuCommunity/utils/headers.dart';
|
|
|
|
|
|
|
|
class BeeImagePicker {
|
|
|
|
static Future<File> pick(
|
|
|
|
{String title, double maxWidth = 1000, double maxHeight = 1000}) async {
|
|
|
|
PickedFile file = await Get.bottomSheet(CupertinoActionSheet(
|
|
|
|
title: title.text.isIntrinsic.make(),
|
|
|
|
actions: [
|
|
|
|
CupertinoDialogAction(
|
|
|
|
onPressed: () async => Get.back(
|
|
|
|
result: await ImagePicker().getImage(
|
|
|
|
source: ImageSource.gallery,
|
|
|
|
maxHeight: maxHeight,
|
|
|
|
maxWidth: maxWidth,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
child: [
|
|
|
|
Icon(CupertinoIcons.photo),
|
|
|
|
30.wb,
|
|
|
|
'相册'.text.isIntrinsic.make(),
|
|
|
|
].row(),
|
|
|
|
),
|
|
|
|
CupertinoDialogAction(
|
|
|
|
onPressed: () async => Get.back(
|
|
|
|
result: await ImagePicker().getImage(
|
|
|
|
source: ImageSource.camera,
|
|
|
|
maxHeight: maxHeight,
|
|
|
|
maxWidth: maxWidth,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
child: [
|
|
|
|
Icon(CupertinoIcons.camera),
|
|
|
|
30.wb,
|
|
|
|
'相机'.text.isIntrinsic.make(),
|
|
|
|
].row(),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
cancelButton: CupertinoDialogAction(
|
|
|
|
onPressed: Get.back,
|
|
|
|
child: '取消'.text.isIntrinsic.make(),
|
|
|
|
),
|
|
|
|
));
|
|
|
|
if (file != null)
|
|
|
|
return File(file.path);
|
|
|
|
else
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|