[flutter] 플러터 TimePicker에서 지정된 시간으로 초기화하기

플러터에서 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을 업데이트합니다. initialTimeselectedTime을 전달하여 TimePicker가 열릴 때 지정된 시간으로 초기화됩니다.

3. 버튼에 이벤트 연결하기

마지막으로 버튼을 만들고 클릭 이벤트에 _showTimePicker 메서드를 연결합니다.

ElevatedButton(
  onPressed: _showTimePicker,
  child: Text('Select Time'),
)

위의 코드에서는 ElevatedButton을 생성하고 _showTimePicker 메서드를 onPressed에 연결합니다. 이렇게 하면 버튼을 클릭할 때 TimePicker가 열리고, 초기화된 시간이 표시됩니다.

마치며

이제 플러터 TimePicker에서 지정된 시간으로 초기화하는 방법을 알게 되었습니다. TimeOfDay를 사용하여 초기화할 시간을 설정하고, showTimePickerinitialTime에 전달하여 초기값을 설정합니다. 이를 통해 플러터 앱에서 원하는 시간으로 TimePicker를 초기화할 수 있습니다.