import 'package:flutter/material.dart'; // ignore: must_be_immutable class TimePicker extends StatefulWidget { TimeOfDay _initialTime; final String descriptionText; TimePicker(this._initialTime, {super.key, required this.descriptionText}); TimeOfDay get getCurrentTime => _initialTime; @override State createState() => TimePickerState(); } class TimePickerState extends State { TimePickerState(); @override Widget build(BuildContext context) { return Center( child: Column(children: [ Text( widget.descriptionText, style: TextStyle(fontSize: 12), ), Row(mainAxisAlignment: MainAxisAlignment.center, children: [ Text( '${widget._initialTime.hour.toString().padLeft(2, '0')}:${widget._initialTime.minute.toString().padLeft(2, '0')}', style: const TextStyle(fontSize: 22), ), const SizedBox(width: 16), ElevatedButton( onPressed: () async { //TODO auslagern TimeOfDay? newTime = await showTimePicker( context: context, initialTime: widget._initialTime, builder: (context, child) { return MediaQuery( data: MediaQuery.of(context) .copyWith(alwaysUse24HourFormat: true), child: child!, ); }, ); if (newTime == null) return; setState(() { widget._initialTime = newTime; }); }, child: const Text('Zeit einstellen')) ]) ]), ); } }