show method

dynamic show({
  1. required BuildContext context,
  2. required dynamic onTap(
    1. XFile? file
    ),
  3. double? maxWidth,
  4. double? maxHeight,
  5. int? imageQuality,
  6. CameraDevice? preferredCameraDevice,
})

注意这里还需要处理应用被杀死的情况

Implementation

show({
  required BuildContext context,
  required Function(XFile? file) onTap,
  double? maxWidth,
  double? maxHeight,
  int? imageQuality,
  CameraDevice? preferredCameraDevice,
}) {
  return WitsystemBottomSheet().show(
    context: context,
    sheetItem: listItem,
    showKey: "name",
    onTap: (index) async {
      switch (listItem[index]["type"]) {
        case "camera":
          final ImagePicker _picker = ImagePicker();
          onTap(await _picker.pickImage(
              source: ImageSource.camera,
              maxWidth: maxWidth,
              maxHeight: maxHeight,
              imageQuality: imageQuality));
          break;

        case "photo":
          final ImagePicker _picker = ImagePicker();
          onTap(await _picker.pickImage(
              source: ImageSource.gallery,
              maxWidth: maxWidth,
              maxHeight: maxHeight,
              imageQuality: imageQuality,
              preferredCameraDevice: preferredCameraDevice =
                  CameraDevice.front));
          break;

        case "cancel":
          break;
      }
    },
  );
}