Row 위젯에 2개의 child 위젯을 넣고 mainAxisAlignment에 원하는 property를 입력하였는데 적용이 되지 않는다. 그렇다고 린트 에러나 컴파일 에러도 없다.....그래서 이유를 알 수가 없다보니 어떻게 해결해야하나 인터넷을 찾아봐야했다. flutter mainaxisalignment not working 구글에서 위와 같이 검색한 답변에서, 정렬하고자하는 Column 이나 Row 의 내부 위젯을 Expanded로 감싸 주면 해결된다는 글이 있다. 하지만 Expanded는 다른 children과의 영역 비율 조정을 할 수 없으므로(flex=1로 고정된 위젯이므로) Flexible을 감싸주고 원하는 비율을 flex 프로퍼티에 입력하였더니 해결되었다.
Getx 그 중에서도 Obs, Obx 사용법에 대해서 정리 참고자료: Getx의 statemanagement 에 대한 문서 https://github.com/jonataslaw/getx/blob/master/documentation/en_US/state_management.md GitHub - jonataslaw/getx: Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies eas Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Ge..
Null safty가 적용되고 나서, class에서 선언된 변수의 type이 late가 아닐 경우, 해당 변수를 read하려고 할 때 아직 initialized가 되어있지 않으면 error (complie-time)가 발생한다. [해결 방법] constructor 파라미터로 전달되는 것이라면 class에 초기화 하려는 변수명과 같게 해주어 constructor의 파라미터 필드에서 this.을 이용해서 바로 입력한다. 또는 파라미터로 전달되는 값이 직접 클래스의 변수에 입력할 수 없고, 프로세싱을 필요로 할 경우, initializer list에서 처리후에 클래스 변수에 입력할 수 있다. 클래스 바디에서 변수에 값을 할당하는 것은 초기화가 아니다~!
Size 를 입력할 때 보면, SIze(10, 10) 이렇게 단위 없이 숫자를 입력한다. 이때 10이 픽셀로 얼마정도의 크기인지 가늠이 되지 않아 구글링을 했다. 답은 아래와 같다. 장치마다 pixelRatio가 있으며 이 값을 곱한 값이 pixel값이라는 것이다. 참고 자료 https://stackoverflow.com/questions/50596099/what-is-unit-of-measurement-in-flutter What is unit of measurement in flutter as usual, we use dp for Android and pt(point) for ios as a unit of measurement. 1 pt = 1/72 inch 1 dp = 1/160 inch But i..
리팩터링 2판을 도서관에서 빌려와서 읽어보았다. 저자는 마틴 파울러. 프로그래밍 기초가 부족한 나에게 매우 유익한듯하다. 리팩터링 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법 리팩터링은 대부분 코드가 하는 일을 파악하는데서 시작한다. 그래서 코드를 읽고, 개선점을 찾고, 리팩터링 작업을 통해 개선점을 코드에 반영하는 식으로 진행한다. 그 결과 코드가 명확해지고 이해하기 쉬워진다. 그러면 또 다른 개선점이 떠오르며 선순환이 형성된다. 리팩터링을 효과적으로 하는 핵심은, 단계를 잘게 나눠야 더 빠르게 처리할 수 있고, 코드는 절대 깨지지 않으며, 이러한 작은 단계들이 모여서 상당히 큰 변화를 이룰 수 있다는 사실을 깨닫는 것이다. 리팩터링으로 인하..
Stack 안에서 위젯의 위치를 width와 height로 설정할 때 현재 가능한 영역 내에서 비율로 위치시키는 방법이 궁금했다. width는 왼쪽에서부터 30% 오른쪽으로, height는 위쪽(top)에서부터 20% 아래쪽으로 처럼 말이다. 구글링을 했더니 stackoverflow에 방법이 있었다. 질문은 2017년에 올라온 것이지만, 답변에는 2021년에 올라온 것도 있어 참고할만 하다. 이와중에 이 질문자가 Remi Rousselet 이다~! 답변도 자기가 해놨네. 몰라서 질문했다기보다 알려주려고 한건가보다 Positioned.fill 과 LayoutBuilder를 이용해서 stack 아래에서 사용가능한 영역을 알아낸 뒤에, 원하는 위치에 위젯을 두기 위해 padding으로 나머지 공간을 점유하는 ..
앱이 실행되는 장치에 따라 앱이 보여지는게 달라진다 가장 큰 문제가 글자 크기 인데, 태블릿이나 pc냐 모바일 폰이냐에따라 표시되어야 하는 글자 크기가 달라지므로 적응적으로 글자 크기를 변화시켜주는 것이 중요하다. 나의 경우, 테블릿 환경에서 작업을 하면서 text 위젯을 fittedBox.scaleDown으로 만들어 넣고있다. 그러면 모바일에서 앱을 실행하더라도 글자를 줄여서 표현되기 때문에 큰 문제는 없었다. 그런데 혹시나 좀더 편리하거나 효과가 좋은 위젯이나 방법이 있나 싶어서 잠시 찾아보았다. Responsive design의 기본적인 정보는 아래링크를 참고하면된다. https://docs.flutter.dev/development/ui/layout/adaptive-responsive Creati..
Container 크기 지정이 없을 경우 차지할 수 있는 최대의 범위를 가져간다. SizedBox 크기르 지정하지 않을 경우 Child를 나타낼 수 있는 최소한의 layout을 가져간다. Stack 자식들중 가장큰 크기에 맞춘다. 여러 자식들의 Alignment를 다 다르게 주고 싶어서 Align으로 감싼뒤 alignment property에 원하는 Alignment(x, y)를 넣어 보았는데 x축으로는 적용이 되는데 y축으로는 alignment가 적용이 되지 않는다. Stack에 api doc를 보았더니 아래와 같은 내용이 있다. https://api.flutter.dev/flutter/widgets/Stack-class.html Stack class - widgets library - Dart API..
- Total
- Today
- Yesterday
- Syncfusion
- 이미지
- 크롬
- 문제 해결
- UX
- firebase
- hide
- BLE
- 한빛미디어
- 앱 프로그래밍
- 디자인
- Bluetooth
- SizedBox
- 앱
- addPostFrameCallback
- UI
- TextField
- IOS
- position
- TextFormField
- 앱개발
- 다트
- DART
- 인사이트
- Flutter
- Chrome
- 에러
- 플러터
- plugin
- error
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |