상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 다트에서 커스텀 위젯(Custom Widget)을 만드는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/다트/ko'>다트</a>(Flutter)에서 커스텀 위젯(Custom Widget)을 만드는 것은 Flutter의 강력한 <a href='https://sangseek.com/sangseeks/UI 구성/ko'>UI 구성</a> 요소를 활용하여 재사용 가능한 UI 컴포넌트를 만드는 방법입니다. 커스텀 위젯을 만들면 코드의 재사용성을 높이고, 유지보수를 용이하게 하며, 복잡한 UI를 간단하게 구성할 수 있습니다. 아래에서는 커스텀 위젯을 만드는 방법에 대해 단계별로 설명하겠습니다. 1. 위젯의 종류 이해하기 Flutter에서는 두 가지 종류의 위젯이 있습니다: - <a href='https://sangseek.com/sangseeks/Stateless/ko'>Stateless</a> Widget : 상태가 없는 위젯으로, 주어진 입력에 따라 항상 동일한 출력을 생성합니다. - Stateful Widget : 상태가 있는 위젯으로, 내부 상태에 따라 UI가 변경될 수 있습니다. 2. 커스텀 Stateless Widget 만들기 Stateless Widget을 만드는 기본적인 방법은 다음과 같습니다. ```dart import 'package:flutter/material.dart'; class MyCustomWidget extends StatelessWidget { final String title; MyCustomWidget({required this.title}); @override Widget build(BuildContext context) { return Container( padding: EdgeInsets.all(16.0), decoration: BoxDecoration( color: Colors.blue, borderRadius: BorderRadius.circular(8.0), ), child: Text( title, style: TextStyle(color: Colors.white, fontSize: 20), ), ); } } ``` 위의 예제에서 `MyCustomWidget`은 `title`이라는 문자열을 입력받아, 파란색 배경에 흰색 텍스트로 표시하는 간단한 위젯입니다. 3. 커스텀 Stateful Widget 만들기 Stateful Widget을 만드는 방법은 다음과 같습니다. ```dart import 'package:flutter/material.dart'; class <a href='https://sangseek.com/sangseeks/CounterWidget/ko'>CounterWidget</a> extends StatefulWidget { @override _CounterWidgetState createState() => _CounterWidgetState(); } class _CounterWidgetState extends State<CounterWidget> { int _counter = 0; void _incrementCounter() { <a href='https://sangseek.com/sangseeks/setState/ko'>setState</a>(() { _counter++; }); } @override Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ Text( 'You have pushed the button this many times:', ), Text( '$_counter', style: Theme.of(context).<a href='https://sangseek.com/sangseeks/textTheme/ko'>textTheme</a>.headline4, ), ElevatedButton( onPressed: _incrementCounter, child: Text('Increment'), ), ], ); } } ``` 위의 예제에서 `CounterWidget`은 버튼을 눌러 카운터를 증가시키는 기능을 가진 위젯입니다. `_counter`라는 상태 변수를 가지고 있으며, 버튼을 클릭할 때마다 `setState`를 호출하여 UI를 업데이트합니다. 4. 커스텀 위젯 사용하기 커스텀 위젯을 사용하려면, Flutter 애플리케이션의 다른 부분에서 해당 위젯을 호출하면 됩니다. ```dart import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return <a href='https://sangseek.com/sangseeks/MaterialApp/ko'>MaterialApp</a>( home: Scaffold( appBar: AppBar( title: Text('Custom Widget Example'), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ MyCustomWidget(title: 'Hello, Flutter!'), CounterWidget(), ], ), ), ), ); } } ``` 5. 커스텀 위젯의 장점 - 재사용성 : 한 번 만든 위젯은 여러 곳에서 재사용할 수 있습니다. - 유지보수 용이성 : UI의 특정 부분을 수정할 때, 해당 위젯만 수정하면 되므로 유지보수가 용이합니다. - 구조화된 코드 : 복잡한 UI를 작은 단위로 나누어 관리할 수 있어 코드가 더 깔끔해집니다. 6. 결론 Flutter에서 커스텀 위젯을 만드는 것은 매우 간단하며, 위젯의 종류에 따라 Stateless 또는 Stateful로 구현할 수 있습니다. 위젯을 만들고 사용하는 과정에서 Flutter의 다양한 기능을 활용할 수 있으며, 이를 통해 더욱 풍부하고 동적인 사용자 인터페이스를 구축할 수 있습니다. 커스텀 위젯을 통해 코드의 재사용성을 높이고, 유지보수를 용이하게 하며, 복잡한 UI를 간단하게 구성할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기