showSelectPhotoPicker function

void showSelectPhotoPicker(
  1. BuildContext context, {
  2. String takePicText = '拍照',
  3. String albumText = '相册中选择',
  4. String cancelText = '取消',
  5. bool isAllowRecording = false,
  6. bool isOnlyAllowRecording = false,
  7. bool enableAudio = false,
  8. Duration maximumRecordingDuration = const Duration(seconds: 15),
  9. ResolutionPreset resolutionPreset = ResolutionPreset.high,
  10. List<AssetEntity>? selectedAssets,
  11. RequestType requestType = RequestType.image,
  12. int maxAssets = 1,
  13. ValueChanged<AssetEntity?>? onCameraCallback,
  14. ValueChanged<List<AssetEntity>?>? onAlbumCallback,
})

快速选择

参数请参考 FKPhotos.cameraPickerFKPhotos.cameraPicker

Implementation

void showSelectPhotoPicker(
  BuildContext context, {
  String takePicText = '拍照', // take a picture
  String albumText = '相册中选择', // Select from album
  String cancelText = '取消', // Cancel
  bool isAllowRecording = false,
  bool isOnlyAllowRecording = false,
  bool enableAudio = false,
  Duration maximumRecordingDuration = const Duration(seconds: 15),
  ResolutionPreset resolutionPreset = ResolutionPreset.high,
  List<AssetEntity>? selectedAssets,
  RequestType requestType = RequestType.image,
  int maxAssets = 1,
  ValueChanged<AssetEntity?>? onCameraCallback,
  ValueChanged<List<AssetEntity>?>? onAlbumCallback,
}) {
  showActionSheet<void>(
      context: context,
      actions: [
        ActionItem(
            title: takePicText,
            onPressed: () async {
              Navigator.pop(context);
              final AssetEntity? asset = await FKPhotos.cameraPicker(context,
                  isAllowRecording: isAllowRecording,
                  isOnlyAllowRecording: isOnlyAllowRecording,
                  enableAudio: enableAudio,
                  maximumRecordingDuration: maximumRecordingDuration,
                  resolutionPreset: resolutionPreset);
              if (onCameraCallback != null) {
                onCameraCallback(asset);
              }
            }),
        ActionItem(
            title: albumText,
            onPressed: () async {
              Navigator.pop(
                context,
              );
              final List<AssetEntity>? assets = await FKPhotos.albumPicker(context,
                  selectedAssets: selectedAssets, requestType: requestType, maxAssets: maxAssets);
              if (onAlbumCallback != null) {
                onAlbumCallback(assets);
              }
            })
      ],
      bottomActionItem: BottomActionItem(title: cancelText));
}