[flutter] 플러터에서 useTimeOfDay 훅(hook)을 이용한 시간에 따른 UI 변경
플러터(Flutter)에서는 시간에 따라 화면의 UI를 변경하는 기능을 구현할 수 있습니다. useTimeOfDay 훅(hook)을 사용하여 현재 시간을 감지하고 이를 기반으로 UI를 동적으로 업데이트할 수 있습니다.
useTimeOfDay 훅(hook)이란?
useTimeOfDay 훅은 시간 변화를 감지하고 이를 통해 UI를 업데이트하기 위한 기능입니다. 이를 사용하여 실시간으로 현재 시간에 따라 화면을 동적으로 변경할 수 있습니다.
아래는 useTimeOfDay 훅을 플러터에서 사용하는 간단한 예제 코드입니다.
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
Widget timeBasedUI() {
TimeOfDay currentTime = useTimeOfDay();
// 현재 시간에 따라 UI를 변경하는 로직
String greeting = '';
if (currentTime.hour < 12) {
greeting = 'Good Morning';
} else if (currentTime.hour < 18) {
greeting = 'Good Afternoon';
} else {
greeting = 'Good Evening';
}
return Scaffold(
appBar: AppBar(
title: Text('Time-based UI'),
),
body: Center(
child: Text(greeting, style: TextStyle(fontSize: 24)),
),
);
}
void main() {
runApp(MaterialApp(
home: Scaffold(
body: timeBasedUI(),
),
));
}
위 예제 코드에서 useTimeOfDay 훅을 사용하여 현재 시간을 감지하고, 시간에 따라 다른 환영 메시지를 표시하는 간단한 UI를 구성했습니다.
결론
플러터의 useTimeOfDay 훅을 활용하면 간단하게 시간에 따라 UI를 동적으로 변경할 수 있습니다. 이를 활용하여 실시간으로 변화하는 화면을 구현할 수 있습니다.