Dev.Op
Yollow ๐Ÿ“š
Dev.Op
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (701)
    • ์œ ์ตํ•˜์…จ๋‹ค๋ฉด ๊ด‘๊ณ  ํ•œ๋ฒˆ๋งŒ ํด๋ฆญ ๋ถ€ํƒ๋“œ๋ฆด๊ฒŒ์š”~ (0)
    • ---------------------------.. (0)
    • Stock (1)
      • ์Šˆํผ๋งˆ์ดํฌ๋กœ์ปดํ“จํ„ฐ (2)
    • ๐Ÿง์ „๊ธฐ์ฐจ (72)
      • ๐Ÿ„lg์—๋„ˆ์ง€์†”๋ฃจ์…˜ (0)
      • ๐ŸŠํ˜„๋Œ€์ž๋™์ฐจ (0)
    • ๐Ÿ—๏ธ์†Œํ”„ํŠธ์›จ์–ด (243)
      • ๐Ÿ’ปpython (85)
      • โž•C & C++ (1)
      • โ˜•๏ธTableau (32)
      • ๐Ÿ‘‹SQL & MySQL (20)
      • ๐ŸฌHTML & CSS (14)
      • ๐Ÿ“—JavaScript (31)
      • ๐Ÿ“˜Pspice & Excel (2)
      • ๐Ÿ“•Matlab & COMSOL & CATIA (6)
      • ๐Ÿ“™java & Servlete & JSP (29)
      • ๐Ÿ““Raspberry PI 4 (5)
      • ๐Ÿ”จAnsys (2)
      • DJango (0)
      • Flutter (3)
      • Typescript (0)
      • ๐Ÿ†Vue (5)
      • ๐Ÿ‹Docker (1)
    • ๐Ÿ“‹์ฑ„์šฉ๊ณต๊ณ  (0)
    • ๐Ÿ“WEB & ML & DL ํ”„๋กœ์ ํŠธ (27)
      • ๐ŸŒต2์ฐจ ํ”„๋กœ์ ํŠธ(LG) (9)
    • ๐Ÿงฉ์ผ์ƒ (89)
      • ๐ŸŒค์ฝ”๋”ฉ ๊ณต๋ถ€ ์ผ์ง€ (1)
      • ๐Ÿšด์ž์ „๊ฑฐ (5)
      • ๐Ÿ“ฐํ…Œํฌ (20)
      • ๐ŸฆFood & Cafe (5)
      • ๐Ÿ’‰์˜์–ด ๋„์ ์ด๊ธฐ (5)
      • โšก๋ฐœ์ „์†Œ (6)
      • ๐Ÿ“š๋…์„œ (1)
      • ๐Ÿ›ซ์—ฌํ–‰ (2)
      • ๐Ÿ“ˆ๋ธ”๋กœ๊ทธ๋งˆ์ผ€ํŒ… (6)
    • ๐ŸŒ๊ธˆ์œต (37)
    • ๐ŸŽจ์ทจ์—…End (16)
    • ๐Ÿ‘‹์ž๊ฒฉ์ฆ (150)
      • ๐Ÿ™ˆSQLD๊ฐœ๋ฐœ์ž (12)
      • ๐Ÿ”Œ์ „๊ธฐ๊ธฐ์‚ฌ (116)
      • ๐Ÿข์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (7)
      • ๐ŸŒŽADsP(๋ฐ์ดํ„ฐ๋ถ„์„์ค€์ „๋ฌธ๊ฐ€) (10)
      • ๐Ÿš™1์ข… ๋Œ€ํ˜• ์šด์ „ ๋ฉดํ—ˆ (1)
      • โญTableau Desktop Specialist (2)
    • ๐Ÿฅ‡๊ณต๋Œ€์ด๊ฑฐ์ €๊ฒƒ(๋ง‰ํ•™๊ธฐ) (24)
      • ๐Ÿ“๊ณตํ•™์ˆ˜ํ•™ 2 (1)
      • ๐Ÿบ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ์‹ค์Šต (4)
      • ๐ŸŒCAE (10)
      • โœˆ๏ธ์ž๋™์ฐจ๊ณตํ•™์‹คํ—˜2 (0)
      • ๐Ÿšข์œ ์ฒด์—ญํ•™ (6)
      • ๐Ÿš—ํ˜„๋Œ€์ฐจ H-๋ชจ๋นŒ๋ฆฌํ‹ฐ ํด๋ž˜์Šค 1๊ธฐ (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    ๊ณต์ง€์‚ฌํ•ญ

    • Vue, Typescript, React, Tableau,โ‹ฏ
    • ์ง„์ธ์‚ฌ๋Œ€์ฒœ๋ช…(็›กไบบไบ‹ๅพ…ๅคฉๅ‘ฝ)

    ์ธ๊ธฐ ๊ธ€

    ํƒœ๊ทธ

    • ์—๋””์Šจev
    • fluid mechanics
    • ์ „๊ธฐ์ฐจ ๋ณด์กฐ๊ธˆ 2021
    • html
    • ๋น…๋ฐ์ดํ„ฐ๋ถ„์„์ค€์ „๋ฌธ๊ฐ€
    • ์œ ์ฒด์—ญํ•™
    • ๋ถ€๋“ฑ๋ฅ 
    • vue btn
    • ๋ธŒ๋ฃจํŠธํฌ์Šค
    • ์•„์ด์˜ค๋‹‰5
    • ์—”๋น„๋””์•„
    • ํ…Œ์Šฌ๋ผ
    • Python
    • ๋””์นด๋ฅด๊ณ 
    • ์ž๋ฐ”
    • ์—…๋น„ํŠธ
    • rdfr
    • ์ „๊ธฐ์ฐจ
    • SMCI
    • ์‚ผ์„ฑ์ „์ž
    • ๋ฐฑ์ค€
    • ADsP
    • lgํ™”ํ•™
    • ์—”์†”
    • LG์—๋„ˆ์ง€์†”๋ฃจ์…˜
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ์ง๋ ฌ๋ฆฌ์•กํ„ฐ
    • ipad dual monitor
    • css
    • ๋น…๋ฐ์ดํ„ฐ

    ์ตœ๊ทผ ๋Œ“๊ธ€

    ์ตœ๊ทผ ๊ธ€

    ํ‹ฐ์Šคํ† ๋ฆฌ

    hELLO ยท Designed By ์ •์ƒ์šฐ.
    Dev.Op

    Yollow ๐Ÿ“š

    [Flutter] ๋ฒ„ํŠผ ์œ„์ ฏ(TextButton, ElevatedButton, OutlinedButton) ์‚ฌ์šฉ๋ฒ•๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์™ธ ํ•„์ˆ˜ ๊ฐœ๋…๋“ค
    ๐Ÿ—๏ธ์†Œํ”„ํŠธ์›จ์–ด/Flutter

    [Flutter] ๋ฒ„ํŠผ ์œ„์ ฏ(TextButton, ElevatedButton, OutlinedButton) ์‚ฌ์šฉ๋ฒ•๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์™ธ ํ•„์ˆ˜ ๊ฐœ๋…๋“ค

    2023. 10. 2. 01:17
    ๋ฐ˜์‘ํ˜•

    ์•ˆ๋…•ํ•˜์„ธ์š”! ์˜ค๋Š˜์€ Flutter์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„ํŠผ ์œ„์ ฏ์ธ TextButton, ElevatedButton, OutlinedButton์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ํ•ด๋‹น ์œ„์ ฏ๋“ค์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•๊ณผ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ ์ฃผ์˜ํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ํ”Œ๋Ÿฌํ„ฐ ๊ทœ์น™๊ณผ ์œ ์šฉํ•œ ์ฝ”๋“œ ์ •๋ฆฌ ๋‹จ์ถ•ํ‚ค๋„ ํ•จ๊ป˜ ์•Œ์•„๋ด…์‹œ๋‹ค.


    Button

    - TextButton

    TextButton์€ ๊ฐ„๋‹จํ•œ ํ…์ŠคํŠธ ๋ฒ„ํŠผ์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” TextButton์„ ์ƒ์„ฑํ•˜๊ณ  ๊ทธ์— ๋Œ€ํ•œ ์˜ˆ์ œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

    TextButton(
      onPressed: () {
        // ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์‹คํ–‰ํ•  ๋™์ž‘
        print('TextButton ํด๋ฆญ๋จ');
      },
      child: Text('TextButton ํ…์ŠคํŠธ'),
    )

     

    - ElevatedButton

    ElevatedButton์€ ์ผ๋ฐ˜์ ์ธ ๋†’์ด๋ฅผ ๊ฐ€์ง„ ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋ฒ„ํŠผ ์Šคํƒ€์ผ์„ ์‚ฌ์šฉํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ElevatedButton์˜ ์˜ˆ์ œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

    ElevatedButton(
      onPressed: () {
        // ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์‹คํ–‰ํ•  ๋™์ž‘
        print('ElevatedButton ํด๋ฆญ๋จ');
      },
      child: Text('ElevatedButton ํ…์ŠคํŠธ'),
    )

     

    - OutlinedButton

    OutlinedButton์€ ์™ธ๊ณฝ์„ ์ด ์žˆ๋Š” ๋ฒ„ํŠผ์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” OutlinedButton์˜ ์˜ˆ์ œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

    OutlinedButton(
      onPressed: () {
        // ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์‹คํ–‰ํ•  ๋™์ž‘
        print('OutlinedButton ํด๋ฆญ๋จ');
      },
      child: Text('OutlinedButton ํ…์ŠคํŠธ'),
    )

     

    ์‚ฌ์šฉํ•œ ์˜ˆ๋Š” ๋‹ค์Œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

     

    ํŒŒ์ผ : main.dart

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(const MyApp());
    }
    
    class MyApp extends StatelessWidget {
      const MyApp({super.key});
    
      // This widget is the root of your application.
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          title: 'Flutter Demo',
          theme: ThemeData(
              colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
              useMaterial3: true,
              // appBar ์ƒ‰์ƒ ๋ณ€๊ฒฝ
              appBarTheme: AppBarTheme(
                backgroundColor: Colors.blue, // appBar ์ „์ฒด ์ƒ‰์ƒ ํŒŒ๋ž€์ƒ‰
                titleTextStyle: TextStyle(
                  color: Colors.black,
                  fontSize: 25.0, // ํฐํŠธ ์‚ฌ์ด์ฆˆ ๊ธฐ๋ณธ ์‚ฌ์ด์ฆˆ์˜ 2.5๋ฐฐ
                ), // title ํ…์ŠคํŠธ ์ƒ‰์ƒ ๊ฒ€์ •์ƒ‰
              )),
          home: const MyHomePage(),
        );
      }
    }
    
    class MyHomePage extends StatefulWidget {
      const MyHomePage({super.key});
    
      @override
      State<MyHomePage> createState() => _MyHomePageState();
    }
    
    class _MyHomePageState extends State<MyHomePage> {
      int count = 1;
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text('Home'),
          ),
          body: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                Text('$count',
                    style: TextStyle(
                      color: Colors.black,
                      fontSize: 100,
                    )),
                Text('$count',
                    style: TextStyle(
                      color: Colors.red,
                      fontSize: 70,
                    )),
                ElevatedButton(
                  onPressed: () {
                    print('ElevatedButton');
                  },
                  child: Text('ElevatedButton'),
                ),
                TextButton(
                  onPressed: () {
                    print('TextButton');
                  },
                  child: Text('TextButton'),
                ),
                OutlinedButton(
                  onPressed: () {
                    print('OutlinedButton');
                  },
                  child: Text('TextButton'),
                )
              ],
            ),
          ),
          floatingActionButton: FloatingActionButton(
              onPressed: () {
                // ํ™”๋ฉด ๊ฐฑ์‹ 
                setState(() {
                  count++;
                });
              },
              child: Icon(Icons.add_box_outlined)),
        );
      }
    }

     

     

    ์ฝ”๋“œ ์ •๋ฆฌ ๋‹จ์ถ•ํ‚ค

    - 'Command' + 'Alt' + 'l'

     

     

    ํ”Œ๋Ÿฌํ„ฐ ๊ทœ์น™ 

    - ํ•˜๋‚˜์˜ ํ™”๋ฉด์€ ํ•˜๋‚˜์˜ ํŒŒ์ผ์— ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.

    - ๋ณ€์ˆ˜๋Š” ํ•ญ์ƒ ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผํ•œ๋‹ค.(๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ, ํ•จ์ˆ˜)

    - ํด๋ž˜์Šค๋Š” ํ•ญ์ƒ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๋‹ค.

     

    [ํŒŒ์ผ๋ช… ๋„ค์ด๋ฐ ๊ทœ์น™] ํ”Œ๋Ÿฌํ„ฐ ์ƒˆ๋กœ์šด ํŒŒ์ผ ๋งŒ๋“ค๋•Œ ๊ทœ์น™

    - CamelCase๋กœ ์ž‘์„ฑ๋˜์—ˆ๋˜ ๋ถ€๋ถ„์˜ ๋ช…์นญ์„ snake_case๋กœ ๋ฐ”๊ฟ”์„œ ์ €์žฅํ•ด์•ผํ•จ!!

     

    import ํŽธํ•˜๊ฒŒ ํ•˜๊ธฐ

    - ๋นจ๊ฐ„์ƒ‰ ๋ฐ‘์ค„ ์žˆ๋Š” ๋ถ€๋ถ„์—์„œ option + enter ํ‚ค ๋ˆŒ๋Ÿฌ์„œ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ์ ˆ๋Œ€ ๊ฒฝ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ

     

    ๋„ค์ด๋ฐ ์ผ๊ด„ ๋ณ€๊ฒฝ

    - 'Shift' + 'f6' ๋ฒ„ํŠผ์œผ๋กœ ํ•œ๋ฒˆ์— ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๊ณ 

    - ์šฐํด๋ฆญํ•˜์—ฌ Refactor์—์„œ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    - ํ•œ๋ฒˆ ์ˆ˜์ •ํ•˜๋ฉด ๋ชจ๋“  ์ฝ”๋“œ, ๋ชจ๋“  ํŒŒ์ผ์—์„œ ๋™์ผํ•˜๊ฒŒ ์ˆ˜์ •๋˜๋Š” ์—„์ฒญ๋‚œ ๊ธฐ๋Šฅ์ด๋‹ค!!

     

    ํ˜„์žฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ์–ด๋–ค ์‹์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š”์ง€ ๋ณด๋Š” ๋ฒ•

    - 'Command' + 'b'

     

    ์ตœ๊ทผ์— ์‚ฌ์šฉํ–ˆ๋˜ ํŒŒ์ผ ์—ด๊ธฐ

    - 'Command' + 'e'

     

    pubspec.yaml ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ์„๋•Œ

    - ์šฐ์ธก ์ƒ๋‹จ 'Pub get' ๊ผญ ๋ˆŒ๋Ÿฌ์ฃผ๊ธฐ

    - ํ™˜๊ฒฝ ์„ธํŒ…ํ•œ ์ดํ›„์— ์„ธํŒ…์„ ๋ฐ˜์˜ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค˜์•ผ ํ•œ๋‹ค

     

    ์ด๋ฏธ์ง€ ํ‘œํ˜„ํ•˜๊ธฐ

    - image.network ๋ฐฉ์‹

    - ํŒŒ์ผ์„ ์ €์žฅํ•ด์„œ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹ - yaml ํŒŒ์ผ์˜ ๊ฐ’์„ ์ˆ˜์ •ํ•ด์ค˜์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์กด์žฌํ•จ

    Container

    - ์ƒ‰๊น”๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ

    - ์ž์‹(child)๋Š” ๋ถ€๋ชจ ์†์„ฑ์„ ๋”ฐ๋ผ๊ฐ€๋Š” ์„ฑํ–ฅ์ด ์žˆ์Œ

    ์ด๋ ‡๊ฒŒ ์‹คํ–‰ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž์‹์˜ ๊ทธ๋ฆผ ์‚ฌ์ด์ฆˆ๊ฐ€ 120 120์ด ๋œ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. 100 100 ์‚ฌ์ด์ฆˆ๊ฐ€ ์•„๋‹ˆ๋ผ.

    - ๋ณดํ†ต ์ด๋Ÿฐ ๊ฒฝ์šฐ์— padding ์œผ๋กœ ๊ฐ์‹ธ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ์„ ๋งŽ์ด ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ

     

    ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋•Œ ํ™”๋ฉด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์—ฌ์ง€๊ฒŒ ๋œ๋‹ค.

     

     

    ์‚ฌ์ง„ ์•„๋ž˜

     

     

    ๋ฐ˜์‘ํ˜•
    ์ €์ž‘์žํ‘œ์‹œ

    '๐Ÿ—๏ธ์†Œํ”„ํŠธ์›จ์–ด > Flutter' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    [Flutter] Dart์—์„œ static ์—ญํ• ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น  (0) 2024.05.11
    Flutter Wrap ์œ„์ ฏ ์‚ฌ์šฉ ํŒ: option(โŒฅ)+enter ๋‹จ์ถ•ํ‚ค ํ™œ์šฉํ•˜๊ธฐ  (0) 2023.10.01
      '๐Ÿ—๏ธ์†Œํ”„ํŠธ์›จ์–ด/Flutter' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
      • [Flutter] Dart์—์„œ static ์—ญํ• ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น
      • Flutter Wrap ์œ„์ ฏ ์‚ฌ์šฉ ํŒ: option(โŒฅ)+enter ๋‹จ์ถ•ํ‚ค ํ™œ์šฉํ•˜๊ธฐ
      Dev.Op
      Dev.Op
      Interest: CS, Drive

      ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”