Flutter

플러터 - 정적 화면 생성

마루설아 2025. 3. 24. 20:21

플러터의 위젯 생성 시 상송받는 클래스 종류

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