플러터의 위젯 생성 시 상송받는 클래스 종류
1. StatelessWidget : 상태를 관리하지 않는 정적인 위젯
2. StatefulWidget : 상태를 관리하는 동적인 위젯
3. InheritedWidget : 여러 위젯에서 공통으로 이용할 상태 관리 위젯
정적 화면 생성 코드
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
bool enabled = false;
String stateText = "disable";
void changeCheck(){
if(enabled){
stateText = "disable";
enabled = false;
}else{
stateText = "enable";
enabled = true;
}
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Stateless Test'),
),
body: Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
IconButton(
icon: (enabled ? Icon(Icons.check_box, size: 20,) :
Icon(Icons.check_box_outline_blank, size: 20,)),
color: Colors.red,
onPressed: changeCheck,
),
Container(
padding: EdgeInsets.only(left: 16),
child: Text('$stateText', style: TextStyle(fontSize: 30,
fontWeight: FontWeight.bold),),
),
],
),
)
));
}
}
체크박스를 클릭해도 상태가 변하지 않는다.

'Flutter' 카테고리의 다른 글
플러터 - 위젯 키 (0) | 2025.03.28 |
---|---|
플러터 - 동적 화면 생성 (0) | 2025.03.24 |
플러터 - 위젯 트리 구조 (0) | 2025.03.22 |
플러터 - 다트 언어 믹스인 (0) | 2025.03.22 |
플러터 - 다트 언어 명명된 클래스 생성자 (0) | 2025.03.22 |