์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- ์ ํ๋ก๊ทธ์ธ๊ตฌํํ๊ธฐ
- ์ค์ํํธ
- Column
- ํ๊ณ
- ํดํ
- Xcode
- ๊ณต์๋ฌธ์
- vscode
- git error
- ๋ค์ง
- family control
- dart
- UIKit
- useEffect
- ์ค๋ํดํ
- ํ๊ธ
- OpenCV
- Simulator
- Swift
- Computer Vision
- IOS
- SwiftUI
- Ai
- FLUTTER
- Center
- C++
- Git
- codelab
- Flutter codelab
- React
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (62)
ram2 ๐
OverflowBox class ์ด ์์ ฏ์ parent๋ก๋ถํฐ child์๊ฒ ๊ฐ๊ฐ ๋ค๋ฅธ constraints๋ฅผ ๋ถ๊ณผํ์ฌ child๊ฐ parent๋ฅผ overflow(๋์น๊ฒ. ์ฆ ๋ ํฌ๊ฒ) ํ ์ ์๊ฒ ํ๋ค. overflowBox๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด parent์์ ์ ์๋ constraint๋ฅผ ๋ฒ์ด๋ ์ ์๋ค. ํ์ง๋ง overflowBox๋ฅผ ์ฌ์ฉํ๋ฉด parent๋ฅผ ๋ฒ์ด๋ constraint๋ฅผ ์ค์ ํ ์ ์๊ณ , ์ด๋ ๊ฒ ์ค์ ํ constraint ์์์ parent๋ฅผ ๋ฒ์ด๋ box๋ฅผ ๋ง๋ค ์ ์๋ค. example) out put)
Offstage class offstage class๋ ๋ง ๊ทธ๋๋ก stage์์ off(๋ฒ์ด๋๋ค)ํ๋ค๋ ๊ฒ์ผ๋ก ์ดํดํ๋ค. offstage class๋ navigator์ ๋น์ทํ๊ฒ ํ์ด์ง๊ฐ ๋ฐ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ธ๋ค. ํ์ง๋ง, ์๋ก์ด ํ์ด์ง๋ฅผ ๋ง๋ค์ง ์์๋ ๋๋ค๋ ํน์ง์ด์ ์ฅ์ ์ด ์๋ค. ๋ ๋ค๋ฅธ ํน์ง์ ์ฐ๋ฆฌ ๋์๋ ๋ณด์ด์ง ์์ง๋ง offstage ์ํ์์๋ ๊ณ์ ์คํ๋๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ ๋์ ๋ณด์ด๋๋ ์๋ณด์ด๋๋์ ์ฌ๋ถ์ ๊ด๊ณ ์์ด ๋ฐฐํฐ๋ฆฌ๊ฐ ์์๋๋ค. ์ด์ offstage์ ๋ํด ๋ ์์ธํ๊ฒ ์ดํดํ๊ธฐ ์ํด ์์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์๋ค. ์ ์ฒด ์ฝ๋๋ ์๋ ๋งํฌ๋ก ๋์์ผ๋ ์ ์ฒด ์ฝ๋๊ฐ ๊ถ๊ธํ๋ค๋ฉด ๋ค์ด๊ฐ๊ธธ ๋ฐ๋๋ค. offstage๋ฅผ ์คํํ๊ธฐ ์ ์ ๋จผ์ true๋ก ๊ฐ์ ์ค์ ํด์ค๋ค. bool _offstage = true; of..
LimitedBox class ์ด ์์ ฏ์ child์ ๋ํ ์ ํ์ด ์๋ ๊ฒฝ์ฐ์ ๋ฐ์ค๋ฅผ ์ ํํ ๋ ์ฌ์ฉํ๋ค. ๋๋ถ๋ถ ์์ ์์์์ ์ ์๋ ์ ํ์ ๋ฐ๋ผ ํฌ๊ธฐ๊ฐ ์ ํด์ง๋ค. ํ์ง๋ง ListView, Column, Row์ ๊ฐ์ ๊ฒฝ์ฐ, ํ์์์ ํฌ๊ธฐ์ ์ ํ์ ๋์ง ์๋๋ค. ์ด์ฒ๋ผ ์์ ์์์ ์ ํ์ด ์กด์ฌํ์ง ์์ ๋, ์์ ์์ ์ ํ์ ์์กดํ๋ ์์ ฏ์๋ ์ด๋ป๊ฒ ๊ธฐ๋ณธ๊ฐ์ ์ค ์ ์์๊น? ์ด๋ฐ ๊ฒฝ์ฐ์ LimitedBox๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค! LimitedBox๋ฅผ ์ฌ์ฉํ๋ฉด maxHeight์ maxWidth๊ฐ ์ ๊ณต๋๋ค. ์ด๋ child์๊ฒ ๋ฌดํํ ์ํฉ์์ ์์ฐ์ค๋ฌ์ด ํฌ๊ธฐ๋ฅผ ์ ๊ณตํ๋ ํจ๊ณผ๊ฐ ์๋ค. ๊ฒฝ์ฐ๋ฅผ ๋๋ ์ ๋ฆฌํด๋ณด๋ฉด, ๋ง์ฝ ์์ ฏ์ ์ต๋ ๋๋น๊ฐ ์ ํ๋์ง ์์๋ค๋ฉด ์ด ์์ ฏ์ child์ ๋๋น๋ maxWidth์ ๋ฐ๋ผ ์ ํ๋..
IntrinsicWidth class ๋ฐ๋ก ์ด์ ์ IntrinsicHeight class์ ๋ํด ๋ค๋ฃจ์๋ค. height๊ฐ ์์ผ๋ width๋ ์กด์ฌํ๋ค. IntrinsicHeight class์ ๊ฑฐ์ ๋น์ทํ ๋ด์ฉ์ด๋ค. ์ ์ค๋ช ์์ height๋ฅผ width๋ก ๋ฐ๊ฟ์ ์ดํดํ๋ฉด ๋๋ค. ์ด ์์ ฏ์ ๋๋น๊ฐ ์ ํ๋์ง ์๊ณ ๋ฌดํ ํ์ฅ์ ์๋ํ๋ child๋ฅผ ํ์๋ก ํ ๋ ์ ์ฉํ๋ค. ์ด ์์ ฏ์ด child์๊ฒ ์ ๋ฌํ๋ constraints๋ ๋ถ๋ชจ์ constraints๋ฅผ ์งํค๊ธฐ ๋๋ฌธ์ ๋ง์ฝ constraints๊ฐ child์ ์ต๋ ๊ณ ์ ๋์ด๋ฅผ ํฌํจํ ๋งํผ ์ถฉ๋ถํ ํฌ์ง ์์ผ๋ฉด ๋น๊ต์ ๋ฎ์ ๋์ด๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค. ๋ฐ๋๋ก, ์ต์ ๋์ด constraints๊ฐ child์ ์ต๋ ๊ณ ์ ๋์ด๋ณด๋ค ํฌ๋ฉด ๋น๊ต์ ๋ ๋ง์ ๋์ด๊ฐ ์ง์ ๋๋ค. ..
IntrinsicHeight class ์ด๋ฆ์ ๋ณด์๋ง์ Intrinsic์ด ๋ฌด์จ ์๋ฏธ์ง? ํ๋ ์ง๋ฌธ์ด ์๊ฒผ๋ค. ์ฐพ์๋ณด๋ Intrinsic๋ ๊ณ ์ ํ, ๋ณธ์ง์ ์ธ ์ด๋ผ๋ ๋ป์ด๋ค. ๋ป ๊ทธ๋๋ก IntrinsicHeight๋ child์ ๊ณ ์ ๋์ด์ ๋ง์ถฐ child์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ์์ ฏ์ด๋ค. ์ด ์์ ฏ์ ๋์ด๊ฐ ์ ํ๋์ง ์๊ณ ๋ฌดํ ํ์ฅ์ ์๋ํ๋ child๋ฅผ ํ์๋ก ํ ๋ ์ ์ฉํ๋ค. ์ด ์์ ฏ์ด child์๊ฒ ์ ๋ฌํ๋ constraints๋ ๋ถ๋ชจ์ constraints๋ฅผ ์งํค๊ธฐ ๋๋ฌธ์ ๋ง์ฝ constraints๊ฐ child์ ์ต๋ ๊ณ ์ ๋์ด๋ฅผ ํฌํจํ ๋งํผ ์ถฉ๋ถํ ํฌ์ง ์์ผ๋ฉด ๋น๊ต์ ๋ฎ์ ๋์ด๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค. ๋ฐ๋๋ก, ์ต์ ๋์ด constraints๊ฐ child์ ์ต๋ ๊ณ ์ ๋์ด๋ณด๋ค ํฌ๋ฉด ๋น๊ต์ ๋ ๋ง์ ๋์ด๊ฐ ์ง์ ๋..
FractionallySizedBox class FractionallySizedBox class๋ ์์ ๋ถ๋ชจ์ ์ฌ์ด์ฆ ๋น์จ์ ๋ง๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค. ์ฆ ๋์์ธ์ ํฌ๊ธฐ๊ฐ ์๋์ ์ด์ด์ผ ํ ๋ ํฌ๊ธฐ๋ฅผ ์์ ๋ถ๋ชจ์ ์ฌ์ด์ฆ๋ฅผ ๋ฐํ์ผ๋ก ๋น์จ๋ก ํํํ๋ ๊ฒ์ด๋ค. example) FractionallySizedBox๋ฅผ ์ฌ์ฉํด์ ์์ ๋ถ๋ชจ์ ์ฌ์ด์ฆ ๋น์จ์ ์ง์ ํ์ฌ child์ ํฌ๊ธฐ๋ฅผ ์ ํ๊ณ ์๋ค. ์ฝ๋์์ 0.7์ 70%๋ฅผ ๋ํ๋ธ๋ค. ์ฆ ์์ ๋ถ๋ชจ ์ฌ์ด์ฆ์ 70%๋งํผ child๋ฅผ ๋ง๋ค๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค. widthFactor์ฒ๋ผ heightFactor์ ์ฌ์ฉํ์ฌ ๋์ด์ ๋น์จ๋ ์ค์ ํ ์ ์๋ค. ์ด์ฒ๋ผ FractionallySizedBox class๋ ์์ ๋ถ๋ชจ์ ์ฌ์ด์ฆ ๋น์จ๋ก ํฌ๊ธฐ๋ฅผ ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
FittedBox Class child ๋๋ ๋ด์ฉ์ ์์ ๋ฐ๋ผ ํฌ๊ธฐ๊ฐ ํ์ฅ๋๋ ์์ ฏ์ ์ํด ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์๋๋ ๊ฒฝ์ฐ FittedBox๋ก ๊ฐ์ธ๋ฉด ์ ์ฒด ํฌ๊ธฐ๋ฅผ ๋์ง ์๊ฒ ๋๋ฉฐ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐฉ์ง๋๋ค. alignment๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ ๋ฐฐ์ด๋ก ๋ํ๋ผ ์ ์๋ค. example) ์ฌ์ฉ ์ ) ์ฌ์ฉ ํ) ์ด์ฒ๋ผ ๋ถ๋ชจ์์ ์ฃผ์ด์ง ํฌ๊ธฐ ๋ด์ child๋ฅผ ์์ฑํ ๋ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ํ๊ธฐ ์ํด ์ฃผ๋ก ์ฌ์ฉํ๋ค. fittedBox๋ ๋ถ๋ชจ ํฌ๊ธฐ์ ๋ง์ถฐ child ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ๊ฒ์ด๋ค. BoxFit.cover๋ฅผ ์ฌ์ฉํ๋ฉด ๋ถ๋ชจ ํฌ๊ธฐ์ ๋ฑ ๋ง๊ฒ child ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์๋ค. ์ฐธ๊ณ ) https://medium.com/flutter-community/flutter-widgets-boxes-part-2-the-whol..
CustomSingleChildLayout childe์ ๋ ์ด์์์ ์ง์ ํ๋ ์์ ฏ์ด๋ค. delegate์ child ๋ ์ด์์์ constraints๋ฅผ ๊ฒฐ์ ํ ์ ์๋ค. ๋ํ child๋ฅผ ์ด๋์ ๋์ง, parent์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ค. ํ์ง๋ง parent๋ child์ ํฌ๊ธฐ์ ์์กดํ์ง ์๋๋ค. CustomSingleChildLayout์ delegate๋ฅผ ์ง์ ํด์ผ ํ๋ค. ์ฃผ๋ก grid๋ฅผ ๋ง๋ค ๋ ์ฐ์ธ๋ค. ์ ๋ฆฌํ๋ฉด, child์ ์์น, ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ ๋ ์ฌ์ฉํ๋ layout ์ค ํ๋์ด๋ค. example 1) const CustomSingleChildLayout({ Key key, @required this.delegate, Widget child, }) example 2) Widget single(){ ret..
Initializer lists constructor ์คํ ์ ์ final fields๊ฐ ๊ฐ์ ๊ฐ์ง๋์ง๋ฅผ ํ์ธํ๋ ๋ฑ์ ์ด๊ธฐ ์ค์ ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ฆ, default field์ ์คํ ์ ์ ๊ฐ์ด ์๋๋ก ํ๊ธฐ ์ํด Initializer lists์์ ์ด๊ธฐํ ํ๋ ์์ ์ ์ํํ๋ค. Point.fromJson(Map json) : x = json['x']!, y = json['y']! { print('In Point.fromJson(): ($x, $y)'); } assert๋ ๊ฐ๋ฐ ๋ชจ๋์ debug์ค์๋ง ์ํฅ์ ๋ฏธ์น๋ค. Initializer lists์๋ ์ด๋ ๊ฒ debug์ค์๋ง ์คํ๋๋ assert๋ฅผ ๋ฃ์ ์ ์๋ค. class FirstTwoLetters { final String letterOne; ..
about using this in a constructor this.propertyName ์ ์งง๊ณ ๊ฐ๋จํ๊ฒ constructor์ values์ ๊ฐ์ ํ ๋นํ ๋ ์ฌ์ฉํ๋ค. class MyColor { int red; int green; int blue; MyColor(this.red, this.green, this.blue); } final color = MyColor(80, 80, 128); ์ ์๋ ์ฝ๋์์ this.์ class ๋ณ์์ ๊ฐ์ ๋ฃ๊ฒ ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ด๋ฌํ ๋ฐฉ์์ named parameters์์๋ ์ฌ์ฉ๋๋ค. using this in named parameters class MyColor { ... MyColor({required this.red, required this.gree..