fl_assets_picker

Last updated:

0 purchases

fl_assets_picker Image
fl_assets_picker Images
Add to Cart

Description:

fl assets picker

fl_assets_picker #

简单封装 wechat_assets_picker,wechat_camera_picker


void main() {
WidgetsFlutterBinding.ensureInitialized();

/// 先设置 资源渲染组件(默认仅支持图片预览)
FlAssetsPicker.assetBuilder = (entity, bool isThumbnail) =>
AssetBuilder(entity, isThumbnail: isThumbnail);

/// 设置权限申请回调
FlAssetsPicker.checkPermission = (PickerOptionalActions action) async {
if (!isMobile) return true;
if (action == PickerOptionalActions.gallery) {
if (isIOS) {
return (await Permission.photos.request()).isGranted;
} else if (isAndroid) {
bool resultStorage = (await Permission.storage.request()).isGranted;
return resultStorage;
}
return false;
} else if (action == PickerOptionalActions.camera) {
final permissionState = await Permission.camera.request();
return permissionState.isGranted;
}
return false;
};

/// 设置多选框 点击方法预览的弹出方式
FlAssetsPicker.previewModalPopup = (_, Widget widget) => widget.popupDialog();

/// 设置多选框 点击预览的UI组件
FlAssetsPicker.previewBuilder = (context, entity, allEntity) {
return FlPreviewGesturePageView(
pageView: ExtendedImageGesturePageView.builder(
itemCount: allEntity.length,
controller:
ExtendedPageController(initialPage: allEntity.indexOf(entity)),
itemBuilder: (_, int index) =>
FlAssetsPicker.assetBuilder(allEntity[index], false)));
};

/// 设置错误回调的提示
FlAssetsPicker.errorCallback = (ErrorDes des) {
switch (des) {
case ErrorDes.maxBytes:
showToast('资源过大');
break;
case ErrorDes.maxCount:
showToast('超过最大数量');
break;
case ErrorDes.maxVideoCount:
showToast('超过最大视频数量');
break;
case ErrorDes.none:
showToast('未获取都资源');
break;
}
};
runApp();
}

copied to clipboard
/// 单选
SingleAssetPicker();

/// 多选
MultipleAssetPicker();
copied to clipboard
直接调用方法选择

void fun() {
/// 选择Actions
FlAssetsPicker.showPickActions();

/// 最原始的资源选择器
FlAssetsPicker.showPickAssets();
FlAssetsPicker.showPickAssetsWithDelegate();

/// 从相机拍摄
FlAssetsPicker.showPickFromCamera();

/// 依次选择Actions和资源选择器
FlAssetsPicker.showPickWithOptionalActions();
}

copied to clipboard

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.