copyWith method
StackBannersOptions
copyWith({
- double? height,
- double? aspectRatio,
- bool? loop,
- Duration? autoPlayInterval,
- Duration? autoPlayAnimationDuration,
- Curve? autoPlayCurve,
- Axis? scrollDirection,
- Alignment? alignment,
- bool? autoPlay,
- Curve? curve,
- EdgeInsetsGeometry? padding,
- double? borderRadius,
- StackBannersStyle? style,
- Duration? itemAnimationDuration,
- Clip? clipBehavior,
Implementation
StackBannersOptions copyWith({
double? height,
double? aspectRatio,
bool? loop,
Duration? autoPlayInterval,
Duration? autoPlayAnimationDuration,
Curve? autoPlayCurve,
Axis? scrollDirection,
Alignment? alignment,
bool? autoPlay,
Curve? curve,
EdgeInsetsGeometry? padding,
double? borderRadius,
StackBannersStyle? style,
Duration? itemAnimationDuration,
Clip? clipBehavior,
}) {
var newAlignment = alignment ?? this.alignment;
assert(
newAlignment == Alignment.topCenter ||
newAlignment == Alignment.bottomCenter ||
newAlignment == Alignment.centerLeft ||
newAlignment == Alignment.centerRight,
'Alignment $newAlignment is not supported. '
'Supported alignments are: Alignment.topCenter, Alignment.bottomCenter, '
'Alignment.centerLeft, Alignment.centerRight.',
);
return StackBannersOptions(
height: height ?? this.height,
aspectRatio: aspectRatio ?? this.aspectRatio,
loop: loop ?? this.loop,
autoPlay: autoPlay ?? this.autoPlay,
autoPlayInterval: autoPlayInterval ?? this.autoPlayInterval,
autoPlayCurve: autoPlayCurve ?? this.autoPlayCurve,
scrollDirection: scrollDirection ?? this.scrollDirection,
alignment: newAlignment,
curve: curve ?? this.curve,
padding: padding ?? this.padding,
borderRadius: borderRadius ?? this.borderRadius,
style: style ?? this.style,
itemAnimationDuration: itemAnimationDuration ?? this.itemAnimationDuration,
clipBehavior: clipBehavior ?? this.clipBehavior,
);
}