getSpeedButton method
Implementation
Widget getSpeedButton() {
speedLabel ??= TextView(speedLabelModel);
speedLabelModel.value = '${widget.model.speed}x';
var label = Stack(alignment: Alignment.center, children: [
const Icon(Icons.circle, color: Colors.white38, size: 40),
speedLabel!
]);
List<PopupMenuItem<double>> speeds = [];
for (final double speed in _playbackRates) {
speeds.add(PopupMenuItem<double>(value: speed, child: Text('${speed}x')));
}
PopupMenuButton popup = PopupMenuButton<double>(
tooltip: 'Playback speed',
onSelected: (double speed) {
widget.model.speed = speed;
speedLabelModel.value = '${speed}x';
},
itemBuilder: (BuildContext context) {
return <PopupMenuItem<double>>[
for (final double speed in _playbackRates)
PopupMenuItem<double>(value: speed, child: Text('${speed}x'))
];
},
child: label);
return Positioned(top: 5, right: 5, child: popup);
}