SenzuPlayerStyle constructor
SenzuPlayerStyle({ - SenzuProgressBarStyle? progressBarStyle,
- SenzuSubtitleStyle? subtitleStyle,
- SenzuCenterButtonStyle? centerButtonStyle,
- SenzuLanguage? senzuLanguage,
- Widget? thumbnail,
- Widget? episodeWidget,
- Widget skipAdBuilder(
- Duration
)?,
- VoidCallback? onPrevEpisode,
- VoidCallback? onNextEpisode,
- bool? hasPrevEpisode,
- bool? hasNextEpisode,
- AlignmentGeometry skipAdAlignment = Alignment.bottomRight,
- Duration transitions = const Duration(milliseconds: 400),
- TextStyle textStyle = const TextStyle(color: Colors.white, fontSize: 12, fontWeight: FontWeight.bold),
- Widget? loading,
- Widget? buffering,
})
Implementation
SenzuPlayerStyle({
SenzuProgressBarStyle? progressBarStyle,
SenzuSubtitleStyle? subtitleStyle,
SenzuCenterButtonStyle? centerButtonStyle,
SenzuLanguage? senzuLanguage,
this.thumbnail,
this.bottomExtra,
this.episodeWidget,
this.skipAdBuilder,
this.onPrevEpisode,
this.onNextEpisode,
// ── Episode navigation state ──────────────────────────────────────────
// null = always enabled (backward compat)
// false = disabled (dimmed, not tappable)
// true = enabled
this.hasPrevEpisode,
this.hasNextEpisode,
this.skipAdAlignment = Alignment.bottomRight,
this.transitions = const Duration(milliseconds: 400),
this.textStyle = const TextStyle(
color: Colors.white,
fontSize: 12,
fontWeight: FontWeight.bold,
),
Widget? loading,
Widget? buffering,
}) : progressBarStyle = progressBarStyle ?? const SenzuProgressBarStyle(),
senzuLanguage = senzuLanguage ?? const SenzuLanguage(),
subtitleStyle = subtitleStyle ?? const SenzuSubtitleStyle(),
centerButtonStyle = centerButtonStyle ?? SenzuCenterButtonStyle(),
loading =
loading ??
const Center(
child: CircularProgressIndicator(
strokeWidth: 1.6,
color: Colors.white,
),
),
buffering =
buffering ??
const Center(
child: CircularProgressIndicator(
strokeWidth: 1.6,
color: Colors.white,
),
);