[flutter] RaisedButton을 사용해 대화식 선택기 표시

안녕하세요! Flutter를 사용해 대화식 선택기를 표시하는 방법을 알려드리겠습니다.

먼저, Flutter에서 RaisedButton 위젯을 사용할 것입니다. RaisedButton은 버튼을 만들고 이를 눌렀을 때 콜백 함수를 실행해주는 역할을 합니다.

아래는 RaisedButton을 사용해 대화식 선택기를 표시하는 예제 코드입니다.

import 'package:flutter/material.dart';

class MyWidget extends StatefulWidget {
  @override
  _MyWidgetState createState() => _MyWidgetState();
}

class _MyWidgetState extends State<MyWidget> {
  String _selectedValue;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('대화식 선택기'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text(
              '선택된 값: $_selectedValue',
              style: TextStyle(fontSize: 20),
            ),
            RaisedButton(
              child: Text('선택하기'),
              onPressed: () {
                showDialog(
                  context: context,
                  builder: (BuildContext context) {
                    return AlertDialog(
                      title: Text('값 선택'),
                      content: Column(
                        mainAxisSize: MainAxisSize.min,
                        children: [
                          RaisedButton(
                            child: Text('옵션 1'),
                            onPressed: () {
                              setState(() {
                                _selectedValue = '옵션 1';
                              });
                              Navigator.of(context).pop();
                            },
                          ),
                          RaisedButton(
                            child: Text('옵션 2'),
                            onPressed: () {
                              setState(() {
                                _selectedValue = '옵션 2';
                              });
                              Navigator.of(context).pop();
                            },
                          ),
                          RaisedButton(
                            child: Text('옵션 3'),
                            onPressed: () {
                              setState(() {
                                _selectedValue = '옵션 3';
                              });
                              Navigator.of(context).pop();
                            },
                          ),
                        ],
                      ),
                    );
                  },
                );
              },
            ),
          ],
        ),
      ),
    );
  }
}

void main() {
  runApp(MaterialApp(
    home: MyWidget(),
  ));
}

위의 코드에서는 RaisedButton을 누르면 showDialog 함수를 사용해 AlertDialog를 표시합니다. AlertDialog 안에는 세 개의 RaisedButton이 있는데, 각각 ‘옵션 1’, ‘옵션 2’, ‘옵션 3’의 값을 선택할 수 있도록 합니다. 각 옵션을 선택하면 _selectedValue 변수의 값을 변경하고 AlertDialog를 닫도록 설정합니다.

이제 Flutter 앱에서 RaisedButton을 사용해 대화식 선택기를 표시할 수 있습니다. 선택된 값을 표시할 때는 해당 값을 화면에 출력하면 됩니다.

참고 자료: