반응형

들어가며

Dialog 위젯이란?

  • Dialog 위젯은 사용자에게 정보를 제공하거나 사용자의 입력을 받기 위해 모달 창으로 표시되는 위젯이다.

예제

main.dart

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'ListView Example',
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('ListView Example'),
      ),
      body: ElevatedButton(
        onPressed: () {
          showDialog(
            context: context,
            builder: (context) {
              return Dialog(
                child: Container(
                  width: MediaQuery.of(context).size.width * 0.7,
                  height: 200,
                  alignment: Alignment.center,
                  child: Column(
                    mainAxisSize: MainAxisSize.min,
                    children: [
                      Text('Hello World'),
                      ElevatedButton(
                        onPressed: () {
                          Navigator.pop(context);
                        },
                        child: Text('close'),
                      ),
                    ],
                  ),
                ),
              );
            },
          );
        },
        child: Text('showPopup'),
      ),
    );
  }
}

화면

반응형

'Development > Flutter' 카테고리의 다른 글

[Flutter] StatefulWidget  (0) 2024.02.23
[Flutter] LayoutBuilder  (0) 2024.02.23
[Flutter] Drawer  (0) 2024.02.21
[Flutter] Fluttertoast  (0) 2024.02.21
[Flutter] SnackBar  (0) 2024.02.21

+ Recent posts