플러터에서 시간을 선택하는 TimePicker 위젯을 사용할 때, 기본적으로는 현재 시간이 선택되어 있지 않습니다. 하지만, 앱이 로드되고 나서 최초로 TimePicker를 보여줄 때 현재 시간으로 자동으로 설정하고 싶다면 어떻게 해야 할까요? 이 기능을 구현하는 방법에 대해 알아보겠습니다.
1. 현재 시간 가져오기
먼저, 현재 시간을 가져오는 방법을 알아보겠습니다. DateTime
클래스의 now()
메서드를 사용하여 현재 시간을 가져올 수 있습니다. 다음은 현재 시간을 가져오는 간단한 예시 코드입니다.
import 'package:flutter/material.dart';
void main() {
DateTime currentTime = DateTime.now();
print(currentTime); // 현재 시간 출력
runApp(MyApp());
}
2. TimePicker에 현재 시간 설정하기
현재 시간을 가져왔다면, 이제 TimePicker에 현재 시간을 설정하는 방법을 알아보겠습니다. showTimePicker
함수를 사용하여 TimePicker를 보여줄 수 있습니다. initialTime
속성을 사용하여 초기 시간을 설정할 수 있습니다.
다음은 TimePicker를 보여주는 간단한 예시 코드입니다. 여기서는 initialTime
속성에 현재 시간을 사용하여 TimePicker에 현재 시간을 설정합니다.
import 'package:flutter/material.dart';
void main() {
DateTime currentTime = DateTime.now();
TimeOfDay selectedTime = TimeOfDay.fromDateTime(currentTime);
runApp(MyApp(selectedTime: selectedTime));
}
class MyApp extends StatelessWidget {
final TimeOfDay selectedTime;
const MyApp({Key? key, required this.selectedTime}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Time Picker Example'),
),
body: Center(
child: ElevatedButton(
child: Text('Open Time Picker'),
onPressed: () {
showTimePicker(
context: context,
initialTime: selectedTime,
);
},
),
),
),
);
}
}
위의 코드에서 selectedTime
은 앱이 로드될 때 현재 시간을 가지고 있는 TimeOfDay
객체입니다. showTimePicker
함수에서 initialTime
속성에 이 selectedTime
을 전달하여 현재 시간으로 TimePicker를 설정하게 됩니다.
이제 앱이 로드되고 최초로 TimePicker를 열면, 선택된 시간으로 현재 시간이 기본적으로 설정되는 것을 확인할 수 있습니다.
마무리
이번 글에서는 플러터에서 TimePicker를 사용할 때, 현재 시간을 자동으로 설정하는 방법을 알아보았습니다. DateTime.now()
를 사용하여 현재 시간을 가져오고, 이를 showTimePicker
함수의 initialTime
속성에 전달하여 TimePicker에 현재 시간을 설정하였습니다.
더 많은 Flutter 관련 내용은 Flutter 공식 문서를 참고하시기 바랍니다.