copyWith method

CustomPlayerWidgets copyWith({
  1. Widget? loadingWidget,
  2. Widget? errorPlaceholder,
  3. Widget? bottomControlsBar,
  4. List<Widget>? leadingBottomButtons,
  5. List<Widget>? trailingBottomButtons,
  6. Widget? customSeekBar,
  7. Widget? customDurationDisplay,
  8. Widget? customRemainingTimeDisplay,
  9. ImageProvider<Object>? thumbnail,
  10. BoxFit? thumbnailFit,
  11. List<CustomOverlayLayer>? customOverlayLayers,
  12. Widget fullscreenWrapper(
    1. BuildContext context,
    2. Widget child
    )?,
})

Returns a new CustomPlayerWidgets instance with the specified fields overridden.

Use this method to selectively override parts of an existing configuration.

Example:

final updatedWidgets = oldWidgets.copyWith(
  loadingWidget: CircularProgressIndicator(color: Colors.red),
  thumbnail: AssetImage("assets/preview.png"),
);

Implementation

CustomPlayerWidgets copyWith({
  Widget? loadingWidget,
  Widget? errorPlaceholder,
  Widget? bottomControlsBar,
  List<Widget>? leadingBottomButtons,
  List<Widget>? trailingBottomButtons,
  Widget? customSeekBar,
  Widget? customDurationDisplay,
  Widget? customRemainingTimeDisplay,
  ImageProvider<Object>? thumbnail,
  BoxFit? thumbnailFit,
  List<CustomOverlayLayer>? customOverlayLayers,
  Widget Function(BuildContext context, Widget child)? fullscreenWrapper,
}) {
  return CustomPlayerWidgets(
    loadingWidget: loadingWidget ?? this.loadingWidget,
    errorPlaceholder: errorPlaceholder ?? this.errorPlaceholder,
    bottomControlsBar: bottomControlsBar ?? this.bottomControlsBar,
    leadingBottomButtons: leadingBottomButtons ?? this.leadingBottomButtons,
    trailingBottomButtons:
        trailingBottomButtons ?? this.trailingBottomButtons,
    customSeekBar: customSeekBar ?? this.customSeekBar,
    customDurationDisplay:
        customDurationDisplay ?? this.customDurationDisplay,
    customRemainingTimeDisplay:
        customRemainingTimeDisplay ?? this.customRemainingTimeDisplay,
    thumbnail: thumbnail ?? this.thumbnail,
    thumbnailFit: thumbnailFit ?? this.thumbnailFit,
    customOverlayLayers: customOverlayLayers ?? this.customOverlayLayers,
    fullscreenWrapper: fullscreenWrapper ?? this.fullscreenWrapper,
  );
}