Notice
Recent Posts
Recent Comments
Link
๊ด€๋ฆฌ ๋ฉ”๋‰ด

lgvv98

[flutter] 14๊ฐ• | Appbar ๋ฉ”๋‰ด ์•„์ด์ฝ˜ ์ถ”๊ฐ€ํ•˜๊ธฐ ๋ณธ๋ฌธ

flutter/์ˆœํ•œ๋ง›(๊ธฐ์ดˆ)

[flutter] 14๊ฐ• | Appbar ๋ฉ”๋‰ด ์•„์ด์ฝ˜ ์ถ”๊ฐ€ํ•˜๊ธฐ

๐Ÿฅ• ์บ๋Ÿฟ๋งจ 2021. 8. 10. 16:09

โœ… ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Appbar ๋ฉ”๋‰ด ์•„์ด์ฝ˜ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

์Šค์œ„ํ”„ํŠธ์—์„œ๋Š” ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค..!

์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ...

์ด๋ฒˆ์—๋Š” print๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ๋ฅผ ์ฐ์–ด๋ณด๋Š” ์ž‘์—…์ด ๋งŽ์•˜๋Š”๋ฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ๋Š” ๋กœ๊ทธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ฐฝ์ด ์•ˆ๋ณด์ด๋Š”๊ฑฐ์ž„...

์ง„์งœ ๋„ˆ๋ฌด ๋ถ„๋…ธํ•œ ์ƒํƒœ์—์„œ ์–ด๋–ป๊ฒŒ ํ• ๊นŒ.. ์ฐพ์•„๋ณด๋‹ค๊ฐ€ ๋ฐ”๋กœ...!

 

์‹คํ–‰ ์˜† ๋ฒŒ๋ ˆ๋ชจ์–‘

๋ณด์ด๋Š”๊ฐ€?

์‹คํ–‰ ์˜†์— ๋ฒŒ๋ ˆ๋ชจ์–‘์„ ํด๋ฆญํ•˜๋ฉด console์ฐฝ์ด ์—ด๋ฆฌ๋ฉด์„œ ๋””๋ฒ„๊น… ์ฝ˜์†”์ด ์—ด๋ ค ใ… ...

์ด๊ฑฐ ์—†์œผ๋ฉด json ๋‚ด๋ ค๋ฐ›์•„์„œ ๊ตฌ์กฐ๋ณผ ๋•Œ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€ ๊ณ ๋ฏผ์ด์—ˆ๋Š”๋ฐ ์•„๋ฌดํŠผ

 

โœ… ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ ์ฝ”๋“œ ์ดํ•ด

import 'package:flutter/material.dart'; // ๋ฐ์Šคํฌํƒ‘, ์•ฑ ๋“ฑ์— ๊ณ ๋ฃจ UI๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ตฌ๊ธ€์ด ์ œ๊ณตํ•ด์ฃผ๋Š” ํŒจํ‚ค

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      // ์‹ค์งˆ์ ์œผ๋กœ ๋ชจ๋“  ์•ฑ์„ ๊ฐ์‹ธ๊ณ  ์žˆ๋‹ค.
      title: 'Appbar', // ์•ฑ์„ ์ด์นญํ•˜๋Š” ์ด๋ฆ„ -> ์Šค๋งˆํŠธ ํฐ ์•ฑ์—์„œ ์ตœ๊ทผ ์‚ฌ์šฉํ•œ ์•ฑ ๋ณด์—ฌ์ค„ ๋•Œ์˜ ์ด๋ฆ„
      theme: ThemeData(primarySwatch: Colors.red // ํŠน์ •์ƒ‰์˜ ์‘์šฉ๋“ค์„ ๊ธฐ๋ณธ ์ƒ‰์ƒ์œผ๋กœ ์ง€์ •ํ•ด์„œ ์‚ฌ์šฉํ•˜๊ฒ 
          ),
      home: MyPage(), // home์€ ์•ฑ์ด ์‹คํ–‰๋  ๋•Œ ๊ฐ€์žฅ๋จผ์ € ๋ณด์—ฌ์ฃผ๋Š” ํŽ˜์ด
    );
  }
}

class MyPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('AppBar icon menu'),
        elevation: 0.0,
        leading: IconButton(
          // ๊ฐ„๋‹จํ•œ ์œ„์ ฏ์ด๋‚˜ ํƒ€์ดํ‹€๋“ค์„ ์•ฑ๋ฐ”์˜ ์™ผ์ชฝ์— ์œ„์น˜์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•จ
          icon: Icon(Icons.menu), // ์•„์ด์ฝ˜
          onPressed: () {
            // ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ
            print("menu button is clicked");
          },
        ),
        actions: [ // action ์†์„ฑ์€ ๋ณต์ˆ˜์˜ ์•„์ด์ฝ˜ ๋ฒ„ํŠผ ๋“ฑ์„ ์˜ค๋ฅธ์ชฝ์— ๋ฐฐ์น˜ํ•  ๋•Œ
          IconButton(
            // ๊ฐ„๋‹จํ•œ ์œ„์ ฏ์ด๋‚˜ ํƒ€์ดํ‹€๋“ค์„ ์•ฑ๋ฐ”์˜ ์™ผ์ชฝ์— ์œ„์น˜์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•จ
            icon: Icon(Icons.shopping_cart), // ์•„์ด์ฝ˜
            onPressed: () {
              // ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ
              print("shopping_cart is clicked");
            },
          ),
          IconButton(
            // ๊ฐ„๋‹จํ•œ ์œ„์ ฏ์ด๋‚˜ ํƒ€์ดํ‹€๋“ค์„ ์•ฑ๋ฐ”์˜ ์™ผ์ชฝ์— ์œ„์น˜์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•จ
            icon: Icon(Icons.search), // ์•„์ด์ฝ˜
            onPressed: () {
              // ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ
              print("search is clicked");
            },
          )
        ],
      ),
    );
  }
}

leading๊ณผ action ๊ทธ๋ฆฌ๊ณ  IconButton ์ •๋„๊ฐ€ ์œ ์˜๊นŠ๊ฒŒ ๋ณผ ์‚ฌํ•ญ์ด์˜€์–ด.

Comments