BaseNavigationBarAction.withImage constructor

BaseNavigationBarAction.withImage({
  1. required String materialImage,
  2. Uint8List? imageBytes,
  3. double imageSize = 24.0,
  4. double imageWidth = 24.0,
  5. double imageHeight = 24.0,
  6. String? label,
  7. VoidCallback? onPressed,
  8. Color? tint,
  9. double? padding,
  10. double? labelSize,
  11. String? badgeValue,
  12. Color? badgeColor,
})

Creates an action with a custom image asset.

Pass imageBytes (pre-loaded from loadImage) for iOS native rendering. materialImage is always used on Android via Image.asset.

Example:

// In initState / async setup:
final action = await BaseNavigationBarAction.loadImage(
  materialImage: 'assets/icons/custom.png',
  iosImage: 'assets/icons/custom_ios.png',
  imageSize: 24.0,
  label: 'Custom',
  onPressed: () {},
);

Implementation

factory BaseNavigationBarAction.withImage({
  required String materialImage,
  Uint8List? imageBytes,
  double imageSize = 24.0,
  double imageWidth = 24.0,
  double imageHeight = 24.0,
  String? label,
  VoidCallback? onPressed,
  Color? tint,
  double? padding,
  double? labelSize,
  String? badgeValue,
  Color? badgeColor,
}) {
  return BaseNavigationBarAction._imageAction(
    materialImage: materialImage,
    imageBytes: imageBytes,
    imageSize: imageSize,
    imageWidth: imageWidth,
    imageHeight: imageHeight,
    label: label,
    onPressed: onPressed,
    tint: tint,
    padding: padding,
    labelSize: labelSize,
    badgeValue: badgeValue,
    badgeColor: badgeColor,
  );
}