flutter album ์ ‘๊ทผ
ยท
๐Ÿ’ง flutter
๐Ÿ’ป ๋ฌธ์ œ flutter์—์„œ ์•จ๋ฒ”์— ์ ‘๊ทผํ•˜์—ฌ ์‚ฌ์ง„์„ ์—…๋กœ๋“œํ•˜๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ, ์•จ๋ฒ”์—์„œ ๋ถˆ๋Ÿฌ์˜ค๋ ค๊ณ  ํ•  ๋•Œ๋งˆ๋‹ค ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ๊บผ์ ธ๋ฒ„๋ ธ๋‹ค. ์ด๋Ÿฐ ์—๋Ÿฌ์™€ ํ•จ๊ป˜ ์ž๊พธ ๊บผ์ ธ๋ฒ„๋ ธ๋‹ค. ์•Œ๊ณ ๋ณด๋‹ˆ, info.plist์— ์•จ๋ฒ”์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ๋งŒ ํ–ˆ๋‹ค. ๐Ÿ’ป ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ios > Runner > Info.plist ์ด ์œ„์น˜์— ์žˆ๋Š” info.plist ํŒŒ์ผ์— ๋‹ค์Œ ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค. NSPhotoLibraryUsageDescription NSCameraUsageDescription NSMicrophoneUsageDescription ์ด๋ ‡๊ฒŒ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๐Ÿ’ป ๊ฒฐ๊ณผ https://velog.velcdn.com/images/haram2/post/99fbf769-631f-4a70-8d0e-c8b9948e9212/image.gif
[Flutter] no device
ยท
๐Ÿ’ง flutter
๐Ÿ‘ฉ‍๐Ÿ’ป ๋ฌธ์ œ์ง€๊ธˆ์€ ํ•ด๊ฒฐ ๋์œผ๋‚˜, ๋‹ค์Œ ๋ถ€๋ถ„์— no device๋ผ๋ฉฐ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ์ „ํ˜€ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•˜๋‹ค.๊ทธ๋ž˜์„œ flutter doctor๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ xcode์—์„œ ์—๋Ÿฌ๊ฐ€ ์žˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.๐Ÿ‘ฉ‍๐Ÿ’ป ํ•ด๊ฒฐ ๋ฐฉ์•ˆํ„ฐ๋ฏธ๋„์— ๋‚˜์˜จ ์—๋Ÿฌ๋ฅผ ๋”ฐ๋ผ ํ•ด๊ฒฐํ•˜๋ฉด, ios๊ฐ€ ์ œ๋Œ€๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.// ์ฒซ ๋ฒˆ์งธsudo xcode-select --switch /Applications/Xcode.app/Contents/Developer// ๋‘ ๋ฒˆ์งธsudo xcodebuild -runFirstLaunch
Padding class
ยท
๐Ÿ’ง flutter
Padding class ์ •ํ•ด์ง„ padding์— ๋งž์ถฐ child๋ฅผ ๋„ฃ๋Š” ์œ„์ ฏ์ด๋‹ค. ์œ„ ์‚ฌ์ง„์€ ๊ณต๊ฐ„์ด ์ „ํ˜€ ์—†์–ด ๋‹ต๋‹ตํ•ด ๋ณด์ด์ง€ ์•Š์€๊ฐ€? ๊ฐ๊ฐ์˜ ์‚ฌ๊ฐํ˜• ์‚ฌ์ด์— ๊ณต๊ฐ„์„ ์กฐ๊ธˆ ๋‘๋ฉด ์–ด๋–จ๊นŒ? ์ด๋ ‡๊ฒŒ ๊ณต๊ฐ„ ์ฆ‰ ์—ฌ๋ฐฑ์ด ํ•„์š”ํ•  ๋•Œ ์šฐ๋ฆฌ๋Š” padding ์œ„์ ฏ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. Padding ์œ„์ ฏ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ณต๊ฐ„์„ ๋งŒ๋“ค์–ด ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์€ padding ์œ„์ ฏ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฐ„์„ ๋งŒ๋“  ๊ฒฐ๊ณผ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด padding์€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ๊นŒ? ์ด๋ ‡๊ฒŒ ์–ด๋Š ๋ถ€๋ถ„์— ์–ผ๋งˆ๋‚˜ ๊ณต๊ฐ„์„ ๋‘˜ ๊ฒƒ์ธ์ง€ ์ •ํ•˜๊ณ , padding์ด ์ ์šฉ๋  child๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค. padding์„ ์ฃผ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์–‘ํ•˜๋‹ค. ์ด๋Š” EdgeInsets์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋ฐฉ๋ฒ•์ด ๋‚˜๋‰œ๋‹ค. 1. EdgeInsets.fromLTRB() LTRB๋Š” ์ˆœ์„œ๋Œ€๋กœ Left,..
[Flutter] Expanded class
ยท
๐Ÿ’ง flutter
Expanded class ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์„ ์ฑ„์šฐ๋„๋ก Row, Column, ๋˜๋Š” Flex์˜ child๋ฅผ ํ™•์žฅ์‹œํ‚จ๋‹ค. Expanded ์œ„์ ฏ์„ ์‚ฌ์šฉํ•˜๋ฉด Row, Column ๋˜๋Š” Flex์˜ child๊ฐ€ main axis(์ถ•)์„ ๋”ฐ๋ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์„ ์ฑ„์šฐ๋„๋ก ํ™•์žฅ๋œ๋‹ค. Row์ด๋ฉด ๊ฐ€๋กœ Column์ด๋ฉด ์„ธ๋กœ Expanded ์œ„์ ฏ์€ Row, Column ๋˜๋Š” Flex์˜ ์ž์†์ด์–ด์•ผ ํ•œ๋‹ค. StatelessWidget ๋˜๋Š” StatefulWidget์ด์–ด์•ผ ํ•œ๋‹ค. example) example_Column) ์œ„ ์˜ˆ์‹œ๋Š” ์ค‘๊ฐ„ child๋ฅผ ์„ธ๋กœ์ถ•์— ๋งž์ถฐ ํ™•์žฅ์‹œํ‚จ ๊ฒฐ๊ณผ์ด๋‹ค. example_Row) ์œ„ ์˜ˆ์‹œ๋Š” flex๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ค‘๊ฐ„ child๋ฅผ ์ œ์™ธํ•œ child๋ฅผ ๊ฐ€๋กœ์ถ•์— ๋งž์ถฐ ํ™•์žฅ์‹œํ‚จ ๊ฒฐ๊ณผ์ด๋‹ค.
[Flutter] Transform class ์ •๋ฆฌ
ยท
๐Ÿ’ง flutter
Transform class transform class๋Š” ์ง€๊ธˆ๊นŒ์ง€ ๋ณธ ์œ„์ ฏ๋“ค ์ค‘ ๊ฐ€์žฅ ์žฌ๋ฐŒ๊ณ  ์‹ ๊ธฐํ•˜๊ฒŒ ๋‹ค๊ฐ€์™”๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ํŒŒ์›Œํฌ์ธํŠธ๋‚˜, ์˜์ƒ, ์•ฑ ์‚ฌ์šฉ ์ค‘ ๋ดค์„ ๋ฒ•ํ•œ ๊ธฐ๋Šฅ๋“ค์ด transform ์œ„์ ฏ์„ ์‚ฌ์šฉํ•œ ๊ฒƒ์ด๋‹ค. ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ์˜์ƒ์„ ๋ณด๋ฉด ๋‚˜๋„ ๋ชจ๋ฅด๊ฒŒ '์šฐ์™€' ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. transform์—๋Š” ์ •๋ง ๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์ด ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ 3๊ฐœ์˜ ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•œ๋‹ค. 1. Transform.rotate child๋ฅผ ์›ํ•˜๋Š” ๊ฐ์œผ๋กœ ํšŒ์ „ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 2. Transform.scale child์˜ ํฌ๊ธฐ๋ฅผ ์›ํ•˜๋Š” ํฌ๊ธฐ๋กœ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 3. Transform.translate child์˜ ์œ„์น˜๋ฅผ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ์™ธ์—๋„ skew, 3D perspective ๋“ฑ ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ๋ณธ ๊ฒฝํ—˜์ด ..