머티리얼 디자인(Material Design)은 구글에서 개발한 UI 디자인 가이드라인입니다.
머티리얼 디자인은 물리적 속성(높이, 너비, 깊이 등)과 물질(Material)의 형태, 동작 등을 표현하는 것을 목표로 합니다.
머티리얼 디자인의 특징으로는 다음과 같습니다.
타이포그래피(Typography)와 색상(Color)을 중요하게 다루어, 일관성 있는 디자인을 제공합니다.
그림자, 모서리 라운딩 등의 물리적인 속성을 활용하여 깊이(depth)와 흐름(flow)을 나타냅니다.
애니메이션과 전환(transition) 등을 사용하여 머티리얼 디자인의 핵심적인 개념인 움직임(motion)을 나타냅니다.
사용자가 상호작용하는 요소들을 직관적이고 명확하게 나타냅니다.
머티리얼 디자인은 구글의 안드로이드 플랫폼에서 처음 도입되었지만, 이후 웹과 데스크톱 등 다양한 플랫폼에서도 적용되고 있습니다. 머티리얼 디자인 가이드라인은 개발자들이 사용자 경험(UX)을 향상시키기 위한 참고자료로 활용됩니다. 또한, 구글에서는 Flutter와 같은 UI 프레임워크에서 머티리얼 디자인을 적용하여 쉽게 UI를 구현할 수 있도록 도와줍니다.
Flutter에서 머티리얼 디자인(Material Design)은 구글에서 제공하는 UI 디자인 가이드라인을 기반으로한 디자인 시스템입니다.
Flutter는 머티리얼 디자인 가이드라인을 따르는 위젯들과 컴포넌트들을 기본적으로 제공하여 머티리얼 디자인을 쉽게 구현할 수 있도록 도와줍니다.
Flutter에서 머티리얼 디자인은 앱이나 웹사이트의 사용자 인터페이스(UI)를 구성할 때 사용되며, 머티리얼 디자인의 특징인 타이포그래피(Typography), 색상(Color), 물리적 속성(높이, 너비, 깊이 등), 그림자, 모서리 라운딩, 애니메이션, 전환 등을 활용하여 일관성 있고 직관적인 UI를 제공합니다.
Flutter에서 머티리얼 디자인은 Material 위젯과 함께 제공되며, 이를 이용하여 머티리얼 디자인에 따라 디자인된 UI를 쉽게 구현할 수 있습니다. 또한, Flutter에서는 머티리얼 디자인 이외에도 Cupertino 디자인 시스템을 제공하여 iOS 스타일의 UI를 구현할 수도 있습니다.
Material Design 예제 코드
import 'package:flutter/material.dart';
void main() {
runApp(MaterialApp(
title: 'Flutter Material Design',
home: Scaffold(
appBar: AppBar(
title: Text('Flutter Material Design'),
),
body: Center(
child: Text('Hello, Material Design!'),
),
),
));
}
Material Design 예제 코드에서는 MaterialApp 위젯을 사용하여 앱을 생성하고, Scaffold 위젯을 사용하여 앱 화면을 구성하였습니다. AppBar 위젯을 사용하여 상단바를 만들고, body 속성을 사용하여 중앙에 텍스트를 배치하였습니다.
Cupertino 디자인 예제 코드
import 'package:flutter/cupertino.dart';
void main() {
runApp(CupertinoApp(
title: 'Flutter Cupertino Design',
home: CupertinoPageScaffold(
navigationBar: CupertinoNavigationBar(
middle: Text('Flutter Cupertino Design'),
),
child: Center(
child: Text('Hello, Cupertino Design!'),
),
),
));
}
Cupertino 디자인 예제 코드에서는 CupertinoApp 위젯을 사용하여 앱을 생성하고, CupertinoPageScaffold 위젯을 사용하여 앱 화면을 구성하였습니다. CupertinoNavigationBar 위젯을 사용하여 상단바를 만들고, child 속성을 사용하여 중앙에 텍스트를 배치하였습니다.
'개발 > Flutter' 카테고리의 다른 글
애니메이션(Animation) 개념 (0) | 2023.04.04 |
---|---|
레이아웃(Layout) 개념 (0) | 2023.04.04 |
위젯(Widget) 개념 (0) | 2023.04.03 |
플러터 탐구생활 (Flutter) (0) | 2023.04.03 |
flutter android, ios 플랫폼 별 실행 (0) | 2022.12.20 |