build method

  1. @override
Widget build(
  1. BuildContext context,
  2. Subtitle subtitle,
  3. SubtitleConfig config
)
override

构建字幕Widget

Implementation

@override
Widget build(BuildContext context, Subtitle subtitle, SubtitleConfig config) {
  final styleConfig = config.styleConfig;

  Widget subtitleWidget = Container(
    padding: styleConfig.padding,
    decoration: styleConfig.decoration,
    constraints: styleConfig.maxWidth != null
        ? BoxConstraints(maxWidth: styleConfig.maxWidth!)
        : null,
    child: Text(
      textAlign: TextAlign.center,
      subtitle.text,
      style: styleConfig.textStyle,
      maxLines: styleConfig.maxLines,
      overflow: styleConfig.overflow,
    ),
  );

  if (config.enableAnimation) {
    subtitleWidget = AnimatedSwitcher(
      duration: config.animationDuration,
      switchInCurve: config.animationCurve,
      switchOutCurve: config.animationCurve,
      child: subtitleWidget,
    );
  }

  return Padding(
    padding: styleConfig.margin,
    child: subtitleWidget,
  );
}