์žฌ๋ฐŒ๋Š”๊ฑฐ๐ŸŒˆ

Flutter_07. ScaffoldMessenger, SnackBar, Function ๋ณธ๋ฌธ

๊ฐœ๋ฐœํ•˜๊ธฐ/Flutter Start

Flutter_07. ScaffoldMessenger, SnackBar, Function

uraon 2023. 5. 2. 21:00
728x90
๋ฐ˜์‘ํ˜•

ํ™”๋ฉด ํ•˜๋‹จ์— ์•ฑ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ์ œ๊ณตํ•˜๋Š” SnackBar๋ฅผ ๋ฉ”๋ชจํ•ด๋ณด๊ฒ ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ๋งํฌ์—์„œ ํ™•์ธ!

 

https://docs.flutter.dev/cookbook/design/snackbars

 

Display a snackbar

How to implement a snackbar to display messages.

docs.flutter.dev

 

https://m2.material.io/components/snackbars#anatomy

 

Material Design

Build beautiful, usable products faster. Material Design is an adaptable system—backed by open-source code—that helps teams build high quality digital experiences.

m3.material.io

 

๋ฐ˜์‘ํ˜•

 

 

 

 

ElevatedButton

 

 

1) Flutter_06 ์ฝ”๋“œ ์—ด๊ณ  ํ™•์ธ

2023.05.02 - [๊ฐœ๋ฐœํ•˜๊ธฐ] - Flutter_06. GestureDetector, onTap, AlertDialog

 

2) Title ๋ณ€๊ฒฝ

 

3) GestureDetector๋ฅผ Column์œผ๋กœ ๋žฉํ•‘ํ•œ๋’ค, ์œ„์—๋Š” Text ์•„๋ž˜์—๋Š” SizeBox ์ถ”๊ฐ€

 

 

4) ElevatedButton 2๊ฐœ ์ถ”๊ฐ€

  body: Center(
    child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        const Padding(
          padding: EdgeInsets.all(8.0),
          child: Text('AlertDialog Text'),
        ),
        GestureDetector(
          onTap: () => _showDialog(context),
          child: const Text('Tap Here'),
        ),
        const SizedBox(
          height: 20,
        ),
        ElevatedButton(
          onPressed: () {
            // --- Click Event : SnackBar Case1. Basic Create

          },
          style: ElevatedButton.styleFrom(
              backgroundColor: Colors.red,
              minimumSize: const Size(200, 40),
              shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(20)
              ),
          ),
          child: const Text('Snackbar Button'),
        ),
        ElevatedButton(
          onPressed: () {
            // --- Click Event : SnackBar Case2. Create with Function

          },
          child: const Text('Snackbar Button Function'),
        ),

      ],
    ),
  ),

 

 

5) Command + S ๋˜๋Š” โšก๏ธ ์•„์ด์ฝ˜ ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ ํ™”๋ฉด ํ™•์ธ

 

 

 

 

 

 

 


SnackBar, ScaffoldMessenger, Function

 

 

 

1) ์ฒซ๋ฒˆ์งธ ElevatedButton : onPress์— SnackBar ์ฝ”๋“œ ์ถ”๊ฐ€

onPressed: () {
    // --- Click Event : SnackBar Case1. Basic Create
    String message = 'ElevatedButton is clicked';
 
    // ----Messenger์œ„์— SnackBar๋„์šฐ๊ธฐ
    ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(
            content: Text(
                message
            ),
            duration: const Duration(
                seconds: 1,
            ),
            backgroundColor: Colors.red,
        ),
    );
},

 

 

2) Command + S ๋˜๋Š” โšก๏ธ ์•„์ด์ฝ˜ ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ ์ €์žฅ, ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ SnackBar ๋ฉ”์‹œ์ง€ ํ™•์ธ

 

 

 

 

3) ๋‘๋ฒˆ์งธ ElevatedButton : onPress์— ํ•จ์ˆ˜๋ช… ์ถ”๊ฐ€

 

 

 

4) SnackBarFunction ๋งŒ๋“ค๊ธฐ

    // --- Func SnackBar
    snackBarFunction(BuildContext context){
        String message = 'Button Function is clicked';
        ScaffoldMessenger.of(context).showSnackBar(
            SnackBar(
                content: Text(
                    message
                ),
                duration: const Duration(
                    seconds: 1,
                ),
                backgroundColor: Colors.blue,
            ),
        );
    }

 

 

 

5) Command + S ๋˜๋Š” โšก๏ธ ์•„์ด์ฝ˜ ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ ์ €์žฅ, ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ SnackBar ๋ฉ”์‹œ์ง€ ํ™•์ธ

 

 

 

 

 


 

SnackBar Function : Message, Color

 

 

1) ์Šค๋‚ต๋ฐ” Message์™€ Color๋ฅผ ๊ฐ™์ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ์ˆ˜ ์ •์˜

    // --- Function -----------
    snackBarFunction(BuildContext context, String message, Color colors) {
        ScaffoldMessenger.of(context).showSnackBar(
            SnackBar(
                content: Text(message),
                duration: const Duration(
                    seconds: 2,
                ),
                backgroundColor: colors
            ),
        );
    }

 

 

2) ํ•จ์ˆ˜ ์‚ฌ์šฉ

- snackBarFunction(context, message, Colors.red);
  ElevatedButton(
    onPressed: (){
      String message = 'A is clicked';
      snackBarFunction(context, message, Colors.black);
    },
    child: const Text('Snackbar Button A'),
  ),
  ElevatedButton(
    onPressed: (){
      String message = 'B is clicked';
      snackBarFunction(context, message, const Color.fromARGB(255, 12, 27, 47));
    },
    child: const Text('Snackbar Button B'),
  ),

 

 

3) Command + S ๋˜๋Š” โšก๏ธ ์•„์ด์ฝ˜ ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ ์ €์žฅ, ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ SnackBar ๋ฉ”์‹œ์ง€ ํ™•์ธ

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

'๊ฐœ๋ฐœํ•˜๊ธฐ > Flutter Start' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Flutter_09.Navigator, Push, PushNamed, Pop  (0) 2023.05.03
Flutter_08. AlertDialog, Navigator, Routing, PushNamed  (0) 2023.05.03
Flutter_06. GestureDetector, onTap, AlertDialog  (0) 2023.05.02
Flutter_05. Button, Link, launchUrl, Plugins  (0) 2023.04.29
Flutter_04. Button  (0) 2023.04.27