๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ฑ Mobile/ํ”Œ๋Ÿฌํ„ฐ ์•ฑํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํ”Œ๋Ÿฌํ„ฐ ์•ฑํ”„๋กœ๊ทธ๋ž˜๋ฐ Day5

ํ”Œ๋Ÿฌํ„ฐ ์•ฑํ”„๋กœ๊ทธ๋ž˜๋ฐ Day5

์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ๋ณธ๊ฒฉ์ ์œผ๋กœ ํ”Œ๋Ÿฌํ„ฐ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋‚ด์šฉ์„ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

๊ทธ ์ค‘์—์„œ ๊ตฌ๊ธ€์˜ ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ์ด ์ ์šฉ๋œ ์œ„์ ฏ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์•ฑ์— ์ด๋ฏธ์ง€, ํฐํŠธ ๋“ฑ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋“ฑ ๊ณต๋ถ€ํ•  ๊ฒƒ์ด๋‹ค.

 

 

 

์Šค์บํด๋“œ๋ฅผ ์ด์šฉํ•œ ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ ์ ์šฉ

๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ์€ ๊ตฌ๊ธ€์—์„œ 2014๋…„๋ถ€ํ„ฐ ์‚ฌ์šฉํ•œ ํ”Œ๋žซ ๋””์ž์ธ ์ง€์นจ์ด๋‹ค. 

๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ์„ ์ ์šฉํ•˜๋ฉด ํ‰๋ฉด, ๋‹จ์ƒ‰ ์œ„์ฃผ์˜ ๊ฐ„๊ฒฐํ•œ ๋””์ž์ธ์„ ๋ฐ”ํƒ•์œผ๋กœ

์•ฑ์˜ ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ๋™์‹œ์— ์†๋„๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

ํ”Œ๋Ÿฌํ„ฐ ์•ฑ์„ ์ œ์ž‘ํ•  ๋•Œ ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ์„ ์ ์šฉํ•˜๋ ค๋ฉด ์Šค์บํด๋“œ ํด๋ž˜์Šค๋ฅผ ์ด์šฉํ•œ๋‹ค.

์Šค์บํด๋“œ ํด๋ž˜์Šค๋Š” ๊ฐ์ข… ์œ„์ ฏ์„ ๋จธํ‹ฐ๋ฆฌ์–ผ ๋””์ž์ธ ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์„ ๋•๋Š”๋‹ค.

 

 

 

์ œ๋ชฉ ์ค„ ์ถ”๊ฐ€ํ•˜๊ธฐ

 

1. ์Šค์บํด๋“œ์— appBar๋ฅผ ์„ ์–ธํ•˜๊ณ  ์ƒˆ๋กœ์šด AppBar๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  AppBar์—์„œ title ๊ฐ’์— Text() ํ•จ์ˆ˜๋กœ 'Material Design App'์ด๋ผ๋Š” ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•œ๋‹ค.

Widget build(BuildContext context) {
    return Scaffold(
      appBar : AppBar(title : Text('Material Design App'),),
    );
  }

 

 

2. ์Šค์บํด๋“œ์— floating ActionButton์„ ์„ ์–ธํ•œ ํ›„ ์ƒˆ๋กœ์šด FloatingActionButton() ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์ด ํ•จ์ˆ˜์— child๋ฅผ ์„ ์–ธํ•˜๊ณ  Icon์„ ์ด์šฉํ•ด Icons.add๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ฒ„ํŠผ ์•ˆ์— ์•„์ด์ฝ˜์ด ํ‘œ์‹œ๋œ๋‹ค. 

  Widget build(BuildContext context) {
    return Scaffold(
      appBar : AppBar(title : Text('Material Design App'),),
      floatingActionButton : FloatingActionButton(child: Icon(Icons.add),
        onPressed: () {
      }),
    );
  }

 

 

 

์œ„์ ฏ์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค๊ธฐ

์ง€๊ธˆ๊นŒ์ง€๋Š” ํ•˜๋‚˜์˜ ์œ„์ ฏ๋งŒ ๋งŒ๋“ค์—ˆ์ง€๋งŒ, ์ด๋ฒˆ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์œ„์ ฏ์„ ๋งŒ๋“ค์–ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

์œ„์ ฏ์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค๋ ค๋ฉด Row์™€ Column ์œ„์ ฏ์„ ์ด์šฉํ•œ๋‹ค.

Row๋Š” ๊ฐ€๋กœ, Column์€ ์„ธ๋กœ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. ์ด ๋•Œ ์˜ต์…˜ ์•ˆ์—๋Š” child๊ฐ€ ์•„๋‹Œ children์„ ์ด์šฉํ•ด ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์„ ์–ธํ•œ๋‹ค.

body : Container(
    child : Center(
        children : <Widget>[
        Icon(Icons.android),
        Text('android')
        ],
        mainAxisAlignment: MainAxisAlignment.center,
    ),
),

 

์•ฑ์˜ ํ™”๋ฉด์„ ํ™•์ธํ•˜๋ฉด ๋ณธ๋ฌธ ํ•œ ๊ฐ€์šด๋ฐ๋กœ ์ •๋ ฌ๋œ ์•„์ด์ฝ˜๊ณผ ํ…์ŠคํŠธ๊ฐ€ ๋ณด์ผ ๊ฒƒ์ด๋‹ค. 

 

 

 

 

์ด๋ฏธ์ง€์™€ ํฐํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ

์•ฑ์„ ๋งŒ๋“ค๋‹ค ๋ณด๋ฉด ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ์™ธ์— ์ถ”๊ฐ€๋กœ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ค์–ด ๋„ฃ์–ด์•ผ ํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.

์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฏธ์ง€๋Š” ์•ฑ์— ๋„ฃ์—ˆ๋‹ค๊ฐ€ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋Š” ๊ฒŒ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ์ด๋‚˜ ์†๋„ ๋ฉด์—์„œ ์œ ๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—

์ด๋ฒˆ์—๋Š” ์ด๋ฏธ์ง€์™€ ํฐํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

 

 

 

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

1. image_font_add_app ์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ƒˆ๋กœ์šด ํ”Œ๋Ÿฌํ„ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ ํ›„,

lib ํด๋”์— imageWidget์ด๋ผ๋Š” ์ด๋ฆ„์˜ ์ƒˆ๋กœ์šด ๋‹คํŠธ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

 

2. material.dart๋ฅผ importํ•˜๊ณ , StatefulWidget์„ ์ƒ์†๋ฐ›๋Š” ImageWidgetApp ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. 

 

3. image ํด๋”์— ์ด๋ฏธ์ง€๋ฅผ ๋„ฃ๋Š”๋‹ค. 

 

4. ํ”„๋กœ์ ํŠธ์— ์ด๋ฏธ์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , pubspec.yaml ํŒŒ์ผ์— ํ•ด๋‹น ์ด๋ฏธ์ง€ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

(๊ธฐ์กด ์•ˆ๋“œ๋กœ์ด๋“œ๋‚˜ ์Šค์œ„ํ”„ํŠธ ์•ฑ ๊ฐœ๋ฐœ์—์„œ๋Š” ํ”„๋กœ์ ํŠธ์— ์ด๋ฏธ์ง€๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ,

ํ”Œ๋Ÿฌํ„ฐ ์•ฑ์€ pubspec.yaml ํŒŒ์ผ์— ํ•ด๋‹น ์ด๋ฏธ์ง€ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.)

 

5. ์œ„์ ฏ์„ ๋งŒ๋“ ๋‹ค. ์ด๋ฏธ์ง€๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์€ file, asset, memory ์„ธ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

์šฐ๋ฆฌ๋Š” assets์œผ๋กœ ์„ ์–ธํ–ˆ์œผ๋ฏ€๋กœ Image.asset ํ˜•ํƒœ๋กœ ํ˜ธ์ถœํ•˜๋ฉด ๋œ๋‹ค. 

 

6. imageWidget.dart ํŒŒ์ผ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค. 

Image.asset('image/flutter_logo.png', width: 200, height: 100)

 

 

 

 

 

ํฐํŠธ ๋ณ€๊ฒฝํ•˜๊ธฐ 

1. ํ”„๋กœ์ ํŠธ์— font ๋ผ๋Š” ์ƒˆ ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ์ค€๋น„ํ•œ ํฐํŠธ ํŒŒ์ผ์„ ๋Œ์–ด์„œ ๋„ฃ๋Š”๋‹ค. 

 

2. pubspec.yaml ํŒŒ์ผ์„ ์—ด๊ณ  ํฐํŠธ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. fonts: ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๊ทธ ํ•˜์œ„์— ํฐํŠธ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

 

3. ์•ฑ ํ™”๋ฉด์— imageWidget.dart ํŒŒ์ผ์„ ์—ด๊ณ  Text๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„ TextStyle()ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ์„ค์ •ํ•œ๋‹ค.

728x90