[flutter] 플러터(expandable)을 사용하는 건강 및 운동 트래커 앱 개발 방법

목차

소개

이번 블로그 포스트에서는 플러터(expandable) 패키지를 사용하여 건강 및 운동 트래커 앱을 개발하는 방법을 알아보겠습니다. expandable 패키지를 사용하면 사용자가 원하는 섹션을 펼치거나 접을 수 있는 확장 가능한 위젯을 쉽게 만들 수 있습니다. 이를 활용하여 앱의 사용자 인터페이스를 보다 편리하고 유연하게 구성할 수 있습니다.

설치 및 설정

플러터를 이용하여 개발을 시작하기 위해선 먼저 Flutter SDK를 설치해야 합니다. Flutter SDK의 설치 및 설정 방법은 공식 문서를 참고하시면 됩니다.

플러터(expandable) 패키지 설치

expandable 패키지를 사용하기 위해서는 pubspec.yaml 파일에 패키지의 의존성을 추가해야 합니다. 아래의 코드를 pubspec.yaml 파일에 추가해주세요.

dependencies:
  expandable: ^5.0.0

의존성을 추가한 후 터미널에서 flutter pub get 명령어를 실행하여 패키지를 설치합니다.

앱 개발

이제 앱을 개발하는 단계로 들어갑니다. 먼저, main.dart 파일을 열고 아래의 코드로 시작합니다.

import 'package:flutter/material.dart';
import 'package:expandable/expandable.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Health & Fitness Tracker"),
      ),
      body: ListView(
        children: [
          ExpandablePanel(
            header: Text("운동 기록",
              style: TextStyle(
                fontWeight: FontWeight.bold,
                fontSize: 18,
              ),
            ),
            collapsed: Text(
              "오늘의 운동 기록을 확인하세요.",
              softWrap: true,
              maxLines: 2,
              overflow: TextOverflow.ellipsis,
            ),
            expanded: Text(
              "월수금은 전신 운동을, 화목토는 유산소 운동을 할 예정입니다.",
              softWrap: true,
            ),
          ),
          ExpandablePanel(
            header: Text("식단 기록",
              style: TextStyle(
                fontWeight: FontWeight.bold,
                fontSize: 18,
              ),
            ),
            collapsed: Text(
              "하루의 식단 기록을 확인하세요.",
              softWrap: true,
              maxLines: 2,
              overflow: TextOverflow.ellipsis,
            ),
            expanded: Text(
              "오늘은 과일과 채소를 많이 섭취할 예정입니다.",
              softWrap: true,
            ),
          ),
        ],
      ),
    );
  }
}

위의 코드에서는 expandable 패키지를 사용하여 ExpandablePanel 위젯을 구현하였습니다. header 속성에는 섹션의 타이틀을, collapsed 속성에는 섹션을 접었을 때 보여줄 내용을, expanded 속성에는 섹션을 펼쳤을 때 보여줄 내용을 설정합니다.

결론

이렇게 해서 플러터(expandable) 패키지를 사용하여 건강 및 운동 트래커 앱을 개발하는 방법에 대해 알아보았습니다. expandable 패키지를 사용하면 앱의 사용자 인터페이스를 보다 효율적으로 구성할 수 있으며, 사용자에게 더욱 편리한 경험을 제공할 수 있습니다.

더 많은 정보와 예제는 공식 문서를 참고하시기 바랍니다.