Flutter는 모든 UI 요소를 위젯으로 구성합니다. 기본 위젯을 이해하면 Flutter 앱 개발에 큰 도움이 됩니다.
이 글에서는 Flutter에서 자주 사용되는 기본 위젯들을 소개하고, 사용 예제를 제공하겠습니다.
Flutter 위젯은 크게 두 가지로 나눌 수 있습니다:
화면에 텍스트를 표시하는 데 사용됩니다.
Text(
'Hello, Flutter!',
style: TextStyle(fontSize: 24, color: Colors.blue),
)
레이아웃을 구성하는 다목적 위젯입니다. 크기, 패딩, 색상 등을 설정할 수 있습니다.
Container(
padding: EdgeInsets.all(16.0),
margin: EdgeInsets.symmetric(horizontal: 10.0),
color: Colors.amber,
child: Text('Container Example'),
)
수평(Row) 또는 수직(Column) 방향으로 위젯을 배열합니다.
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(Icons.star, color: Colors.red),
Text('Row Example'),
],
)
Column(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text('Column Example'),
Icon(Icons.star, color: Colors.green),
],
)
이미지를 표시하는 위젯입니다.
Image.network(
'https://flutter.dev/images/flutter-logo-sharing.png',
width: 100,
height: 100,
)
사용자의 입력을 받을 수 있는 버튼 위젯들입니다.
ElevatedButton(
onPressed: () {
print('Button Pressed');
},
child: Text('Elevated Button'),
)
TextButton(
onPressed: () {},
child: Text('Text Button'),
)
IconButton(
onPressed: () {},
icon: Icon(Icons.thumb_up),
)
앱의 기본 레이아웃 구조를 제공합니다.
Scaffold(
appBar: AppBar(
title: Text('Scaffold Example'),
),
body: Center(
child: Text('Hello, Scaffold!'),
),
floatingActionButton: FloatingActionButton(
onPressed: () {},
child: Icon(Icons.add),
),
)
아래는 위젯을 활용한 간단한 Flutter 앱 예제입니다.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Flutter Basic Widgets'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'Welcome to Flutter!',
style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
print('Button Clicked!');
},
child: Text('Click Me'),
),
],
),
),
),
);
}
}
Flutter의 기본 위젯은 다양한 UI를 만드는 데 필수적입니다. 위젯의 조합과 속성을 활용하여 효율적으로 앱을 개발할 수 있습니다. 다음 글에서는 상태 관리(State Management)에 대해 다뤄보겠습니다.
Flutter 레이아웃 가이드: 기본 레이아웃 구성하기 (0) | 2025.01.01 |
---|---|
Flutter 애니메이션 가이드: 기본 애니메이션 사용법 (0) | 2025.01.01 |
Flutter 상태 관리 실습: Provider 활용 (0) | 2025.01.01 |
Flutter 상태 관리 가이드 (0) | 2025.01.01 |
Flutter 시작 가이드: 설치 및 환경 설정 (0) | 2025.01.01 |