pushToViewerWithDelegate<A, P> static method

Future<List<A>?> pushToViewerWithDelegate<A, P>(
  1. BuildContext context, {
  2. required AssetPickerViewerBuilderDelegate<A, P> delegate,
  3. PermissionRequestOption permissionRequestOption = const PermissionRequestOption(),
  4. bool useRootNavigator = false,
  5. RouteSettings? pageRouteSettings,
  6. AssetPickerViewerPageRouteBuilder<List<A>>? pageRouteBuilder,
})

Call the viewer with provided delegate and provider. 通过指定的 delegate 调用查看器

Implementation

static Future<List<A>?> pushToViewerWithDelegate<A, P>(
  BuildContext context, {
  required AssetPickerViewerBuilderDelegate<A, P> delegate,
  PermissionRequestOption permissionRequestOption =
      const PermissionRequestOption(),
  bool useRootNavigator = false,
  RouteSettings? pageRouteSettings,
  AssetPickerViewerPageRouteBuilder<List<A>>? pageRouteBuilder,
}) async {
  await AssetPicker.permissionCheck(requestOption: permissionRequestOption);
  final Widget viewer = AssetPickerViewer<A, P>(builder: delegate);
  final List<A>? result = await Navigator.maybeOf(
    context,
    rootNavigator: useRootNavigator,
  )?.push<List<A>>(
    pageRouteBuilder?.call(viewer) ??
        AssetPickerViewerPageRoute(builder: (context) => viewer),
  );
  return result;
}