상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
매독을 예방하기 위한 교육 프로그램은 어떤 것들이 있나요?
매독의 예방을 위한 교육 자료는 어떤 것이 있나요?
몰도바의 기후는 어떤가요?
몰도바의 주요 국제 기구 가입 현황은 어떤가요?
키시너우의 주거 형태는 어떤 것이 있나요?
키시너우의 주요 스포츠 시설은 어디에 있나요?
루마니아의 화폐 단위는 무엇인가요?
루마니아의 인구는 대략 얼마인가요?
루마니아의 주요 문화 행사 일정은 어떻게 되나요?
멘사에 가입한 후의 활동은 어떻게 되나요?
코스트코에서 할인 쿠폰을 받을 수 있는 방법은 무엇인가요?
코스트코의 할인 행사 일정은 어디에서 확인할 수 있나요?
Previous
Next
수정하기 - 플러터에서 커스텀 위젯을 만드는 방법은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/플러터/ko'>플러터</a>(Flutter)는 구글이 개발한 UI 툴킷으로, 모바일, 웹, 데스크탑 <a href='https://sangseek.com/sangseeks/애플/ko'>애플</a>리케이션을 위한 아름답고 네이티브 성능의 사용자 인터페이스를 만들 수 있도록 도와줍니다. 플러터의 가장 큰 장점 중 하나는 커스텀 위젯을 쉽게 만들 수 있다는 점입니다. 커스텀 위젯을 만들면 재사용 가능하고, 유지보수가 용이하며, 애플리케이션의 UI를 더욱 유연하게 구성할 수 있습니다. 이번 글에서는 플러터에서 커스텀 위젯을 만드는 방법에 대해 자세히 설명하겠습니다. 1. 위젯의 기본 이해 플러터에서 모든 것은 위젯입니다. 위젯은 UI의 구성 요소로, 텍스트, 버튼, 이미지 등 다양한 형태로 존재합니다. 위젯은 두 가지 유형으로 나눌 수 있습니다: - 상태 없는 위젯(Stateless Widget) : 상태를 가지지 않는 위젯으로, 주어진 입력에 따라 항상 동일한 출력을 생성합니다. - 상태 있는 위젯(Stateful Widget) : 상태를 가지며, 상태가 변경될 때 UI를 다시 그릴 수 있는 위젯입니다. 2. 커스텀 위젯 만들기 2.1. Stateless Widget 만들기 상태 없는 위젯을 만들기 위해 `StatelessWidget` 클래스를 상속받아 새로운 클래스를 정의합니다. 아래는 간단한 <a href='https://sangseek.com/sangseeks/커스텀 버튼/ko'>커스텀 버튼</a> 위젯의 예입니다. ```dart import 'package:flutter/material.dart'; class <a href='https://sangseek.com/sangseeks/CustomButton/ko'>CustomButton</a> extends StatelessWidget { final String label; final VoidCallback onPressed; CustomButton({required this.label, required this.onPressed}); @override Widget build(BuildContext context) { return ElevatedButton( onPressed: onPressed, child: Text(label), ); } } ``` 위의 코드에서 `CustomButton` 클래스는 `StatelessWidget`을 상속받아 `label`과 `onPressed`를 매개변수로 받습니다. `build` 메서드에서는 `ElevatedButton` 위젯을 반환합니다. 2.2. Stateful Widget 만들기 상태 있는 위젯을 만들기 위해 `StatefulWidget` 클래스를 상속받아 새로운 클래스를 정의하고, 상태를 관리할 `State` 클래스를 구현합니다. 아래는 간단한 카운터 위젯의 예입니다. ```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 _count = 0; void _incrementCounter() { setState(() { _count++; }); } @override Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text('Count: $_count'), ElevatedButton( onPressed: _incrementCounter, child: Text('Increment'), ), ], ); } } ``` 위의 코드에서 `CounterWidget`은 `StatefulWidget`을 상속받고, `_CounterWidgetState` 클래스에서 카운터의 상태를 관리합니다. `_incrementCounter` 메서드는 버튼 클릭 시 <a href='https://sangseek.com/sangseeks/카운트/ko'>카운트</a>를 증가시키고, `setState`를 호출하여 UI를 업데이트합니다. 3. 커스텀 위젯 사용하기 커스텀 위젯을 만든 후, 이를 다른 위젯에서 사용할 수 있습니다. 아래는 `CustomButton`과 `CounterWidget`을 사용하는 예입니다. ```dart 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('Custom Widget Example')), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ CounterWidget(), CustomButton( label: 'Click Me', onPressed: () { print('Button Pressed!'); }, ), ], ), ), ), ); } } ``` 4. 커스텀 위젯의 장점 - 재사용성 : 한 번 만든 위젯은 여러 곳에서 재사용할 수 있어 코드 중복을 줄일 수 있습니다. - 유지보수 용이성 : 위젯의 로직을 한 곳에서 관리할 수 있어 유지보수가 쉬워집니다. - 구조화된 코드 : 복잡한 UI를 작은 단위로 나누어 관리할 수 있어 코드의 가독성이 향상됩니다. 5. 결론 플러터에서 커스텀 위젯을 만드는 것은 매우 간단하며, 이를 통해 애플리케이션의 UI를 더욱 유연하고 효율적으로 구성할 수 있습니다. 위에서 설명한 방법을 통해 다양한 커스텀 위젯을 만들어 보시기 바랍니다. 플러터의 강력한 위젯 시스템을 활용하여 멋진 애플리케이션을 개발해 보세요!
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기