플러터에서 TimePicker를 사용하여 사용자에게 시간을 선택하도록 할 수 있습니다. 때때로 TimePicker를 특정 시간으로 초기화하고 싶을 수 있습니다. 이 글에서는 플러터 TimePicker에서 지정된 시간으로 초기화하는 방법에 대해 알아보겠습니다.
1. TimeOfDay 사용하기
플러터에서 시간을 표현하기 위해 TimeOfDay
클래스를 사용합니다. TimeOfDay
는 시간을 시간과 분으로 표시하는데 사용됩니다. 따라서 초기화하려는 시간을 TimeOfDay
객체로 만들어야 합니다.
TimeOfDay selectedTime = TimeOfDay(hour: 12, minute: 0);
위의 코드에서는 12시 00분으로 초기화된 selectedTime
을 생성하고 있습니다.
2. TimePicker에 초기값 설정하기
showTimePicker
메서드를 사용하여 TimePicker를 열 때 초기화된 시간을 설정할 수 있습니다. initialTime
매개변수를 사용하여 초기화할 TimeOfDay
를 전달합니다.
Future<void> _showTimePicker() async {
final TimeOfDay? result = await showTimePicker(
context: context,
initialTime: selectedTime,
);
if (result != null) {
// 시간을 선택한 경우
setState(() {
selectedTime = result;
});
}
}
위의 코드에서는 _showTimePicker
메서드로 TimePicker를 열고, 선택한 시간이 있을 경우 selectedTime
을 업데이트합니다. initialTime
에 selectedTime
을 전달하여 TimePicker가 열릴 때 지정된 시간으로 초기화됩니다.
3. 버튼에 이벤트 연결하기
마지막으로 버튼을 만들고 클릭 이벤트에 _showTimePicker
메서드를 연결합니다.
ElevatedButton(
onPressed: _showTimePicker,
child: Text('Select Time'),
)
위의 코드에서는 ElevatedButton을 생성하고 _showTimePicker
메서드를 onPressed
에 연결합니다. 이렇게 하면 버튼을 클릭할 때 TimePicker가 열리고, 초기화된 시간이 표시됩니다.
마치며
이제 플러터 TimePicker에서 지정된 시간으로 초기화하는 방법을 알게 되었습니다. TimeOfDay
를 사용하여 초기화할 시간을 설정하고, showTimePicker
의 initialTime
에 전달하여 초기값을 설정합니다. 이를 통해 플러터 앱에서 원하는 시간으로 TimePicker를 초기화할 수 있습니다.