[flutter] 플러터(expandable)을 활용한 스마트 출결 및 근태관리 앱 개발 방법
소개
이 문서에서는 플러터와 expandable 위젯을 활용하여 스마트 출결 및 근태관리 앱을 개발하는 방법에 대해 알아보겠습니다. 플러터는 구글에서 개발한 크로스 플랫폼 앱 개발 프레임워크로, 한 번의 코드 작성으로 안드로이드와 iOS 앱을 모두 개발할 수 있습니다. expandable 위젯은 플러터에서 제공하는 위젯 중 하나로, 여러 항목을 접고 펼칠 수 있는 UI를 구현할 때 유용하게 사용됩니다.
시작하기 전에
플러터 개발 환경을 구축하고 프로젝트를 생성한 후, expandable 위젯을 사용하기 위해 expandable 패키지를 추가해야합니다.
dependencies:
expandable: ^5.0.1
expandable 위젯 사용하기
- 먼저 expandable 패키지를 import 해주세요.
import 'package:expandable/expandable.dart';
- 화면에 표시할 항목들을 리스트 형태로 구성합니다.
List<String> items = ['항목 1', '항목 2', '항목 3'];
- 리스트의 각 항목을 expandable 위젯으로 래핑(Wrapping)합니다.
ListView.builder( itemCount: items.length, itemBuilder: (BuildContext context, int index) { return ExpandablePanel( header: Text('항목 ${index+1}'), expanded: Text('펼쳐지는 내용'), tapHeaderToExpand: true, hasIcon: true, ); }, )
- 위와 같이 설정하면, 리스트의 항목을 터치할 때마다 해당 항목이 펼쳐지거나 접히는 동작을 수행합니다.
출결 및 근태관리 앱 예시
이제 expandable 위젯을 사용하여 스마트 출결 및 근태관리 앱을 개발해보겠습니다. 앱에는 출근 시간, 퇴근 시간, 근무 시간 등의 정보가 표시되며, 사용자는 해당 항목을 터치하여 자세한 정보를 확인할 수 있습니다.
List<Attendance> attendanceList = [
Attendance(title: '출근 시간', details: '9:00 AM'),
Attendance(title: '퇴근 시간', details: '6:00 PM'),
Attendance(title: '근무 시간', details: '8 hours'),
];
class Attendance {
String title;
String details;
Attendance({required this.title, required this.details});
}
ListView.builder(
itemCount: attendanceList.length,
itemBuilder: (BuildContext context, int index) {
return ExpandablePanel(
header: Text(attendanceList[index].title),
expanded: Text(attendanceList[index].details),
tapHeaderToExpand: true,
hasIcon: true,
iconColor: Colors.blue,
);
},
)
위와 같이 구현하면, 출결 및 근태 정보가 리스트 형태로 표시되고, 사용자는 각 항목을 터치하여 자세한 정보를 확인할 수 있습니다.
결론
이렇게하여 expandable 위젯을 활용하여 스마트 출결 및 근태관리 앱을 개발하는 방법을 알아보았습니다. 플러터의 다양한 위젯을 활용하여 유연하고 다양한 UI를 구성할 수 있으니, 앱 개발에 활용해보시기 바랍니다.