본문으로 바로가기

Flutter 와 Material 디자인 활용

category Flutter 2024. 11. 13. 09:13

Flutter에서 Material 앱을 생성하려면 MaterialApp을 사용하여 기본 Material 테마와 스타일을 설정합니다. 그 위에 다양한 위젯들을 추가하여 화면을 구성합니다.

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material Design Sample',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: HomeScreen(),
    );
  }
}

class HomeScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Flutter Material Design'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              'Hello, Material Design!',
              style: TextStyle(fontSize: 24),
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: () {},
              child: Text('Click Me'),
            ),
            SizedBox(height: 20),
            Icon(
              Icons.thumb_up,
              color: Colors.blue,
              size: 50,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {},
        child: Icon(Icons.add),
      ),
    );
  }
}

  • MaterialApp: Material Design을 적용하기 위해 사용하는 앱 위젯입니다. theme 속성을 통해 앱 전체에 일관된 스타일을 설정할 수 있습니다.
  • Scaffold: Material Design의 화면 구조를 잡아주는 위젯으로, 앱 바, 바디, 플로팅 버튼 등을 쉽게 배치할 수 있습니다.
  • AppBar: 상단에 표시되는 앱 바로, 타이틀이나 액션 버튼을 배치할 수 있습니다.
  • Column: 여러 위젯을 수직으로 배치하는 레이아웃 위젯입니다.
  • Text: 텍스트 표시를 위한 위젯입니다. TextStyle을 통해 폰트 크기와 색상 등을 지정할 수 있습니다.
  • ElevatedButton: Material 디자인 스타일의 버튼으로, 클릭 이벤트를 지정할 수 있습니다.
  • Icon: 아이콘을 표시하는 위젯으로, 다양한 Material 아이콘을 쉽게 사용할 수 있습니다.
  • FloatingActionButton: 화면의 한쪽 모서리에 위치하는 동그란 버튼으로, 주로 빠른 작업 실행에 사용됩니다.

추가 설명

  • ThemeData: primarySwatch, accentColor, textTheme 등을 설정하여 앱 전반의 일관된 색상과 텍스트 스타일을 지정합니다.
  • Scaffold의 floatingActionButton: onPressed 이벤트를 지정하여 클릭 시 동작을 추가할 수 있습니다.

Material Design 특징

Material Design을 통해 Flutter는 일관된 스타일과 상호작용 요소를 제공하여 앱을 깔끔하고 직관적으로 만듭니다. 또한 Flutter는 커스터마이징이 용이해 Material Design 기본 스타일을 유지하면서도 개성 있는 UI를 쉽게 만들 수 있습니다.

이 기본 예제를 확장하여 더 복잡한 Material Design 컴포넌트, 예를 들어 Card, BottomNavigationBar, Drawer 등을 사용해보면 더 다양하게 활용할 수 있습니다.

'Flutter' 카테고리의 다른 글

Flutter Animation 처리  (0) 2024.11.15
Flutter 기본설정  (0) 2024.11.14
SingleChildScrollView 위젯  (0) 2024.11.12
플러터의 기본  (2) 2024.11.05
Flutter UI 프레임워크  (2) 2024.11.05