์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Xcode
- ์ ํ๋ก๊ทธ์ธ๊ตฌํํ๊ธฐ
- Swift
- dart
- vscode
- OpenCV
- Git
- ํ๊ณ
- Flutter codelab
- ํดํ
- Center
- codelab
- SwiftUI
- FLUTTER
- Ai
- Column
- family control
- IOS
- Simulator
- ํ๊ธ
- React
- ์ค์ํํธ
- UIKit
- C++
- ๊ณต์๋ฌธ์
- ๋ค์ง
- ์ค๋ํดํ
- useEffect
- git error
- Computer Vision
- Today
- Total
๋ชฉ๋กFLUTTER (21)
ram2 ๐
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; ..