import 'package:flutter/material.dart'; import 'speed_button.dart'; const holdSpeedPromptBackgroundColor = Color(0x45181818); class HoldSpeedPrompt extends StatelessWidget { final bool visible; final bool isLeft; final double rate; const HoldSpeedPrompt({ super.key, required this.visible, required this.isLeft, required this.rate, }); @override Widget build(BuildContext context) { final label = isLeft ? '${SpeedButton.formatRate(rate)} 慢放中' : '${SpeedButton.formatRate(rate)} 快进中'; return Positioned( top: 0, left: 0, right: 0, child: SafeArea( child: IgnorePointer( child: AnimatedOpacity( opacity: visible ? 1 : 0, duration: const Duration(milliseconds: 160), child: Padding( padding: const EdgeInsets.only(top: 64), child: Center( child: Container( padding: const EdgeInsets.symmetric( horizontal: 16, vertical: 8, ), decoration: BoxDecoration( color: holdSpeedPromptBackgroundColor, borderRadius: BorderRadius.circular(999), ), child: Row( mainAxisSize: MainAxisSize.min, children: [ Icon( isLeft ? Icons.fast_rewind : Icons.fast_forward, color: Colors.white, size: 18, ), const SizedBox(width: 6), Text( label, style: const TextStyle( color: Colors.white, fontSize: 14, fontWeight: FontWeight.w500, fontFeatures: [FontFeature.tabularFigures()], ), ), ], ), ), ), ), ), ), ), ); } }