컴파일을 하고, VS cdoe에서 Widget Instpector에서 select widget mode를 이용해서 특정 위젯을 터치하면 아래와 같은 창이 열리면서 에러가 발생했다. errors_patch.dart 파일이 열리면서 에러 위치를 표시하는데[ 아래 사진과 같았다. 딱히 message가 없다보니 어디가 문제인지 알 수가 없었다. 문제가 발생하는 View의 의심이 가는 위젯을 하나하나 주석처리하면서 찾아보니, 어떤 위젯이 Flexible 안에서 또 flexible 위젯을 child로 받고 있었으며 이때문에 위와 같은 문제가 발생한 것이었다. Flexible 또는 Expandable은 Row나 Column과 같은 위젯 하위에서만 사용해야 한다. 한편, 저렇게 error가 떴을 때 이 error을 타..
The current elements of this iterable modified by [toElement]. 에러 메세지를 이해를 못하겠다. iterable의 현재 요소가 [toElement]에 의해서 수정되었다..??? 뭔말이지? [toElement]가 뭐지? 빠른 수정 정보를 보면 .을 ?.으로 수정하라고 한다. Null safety와 관련된 에러인것 같다. 아래처럼 클래스 변수(필드) 선언에서 ?를 달아놓았떤 것에 대해서 map을 명령했떠니 이런 에러가 떴던 것이다. 해결 방법은 변수 선언시에 null이 가능한 변수라면 ? 대신에 이 변수의 값을 사용할 때(나의 경우 map메소드 호출), null이 아니라는 걸 확인 시켜주면 된다. if 문으로 null아니라는걸 상위에 넣어주던가, 변수명 뒤에 ..
Error Message A RenderObject does not have any constraints before it has been laid out. VS code를 이용해서 코딩을 하는데, 갑자기 원인을 찾을 수 없는 에러가 발생했다. 앱이 돌아가는데는 문제가 전혀 없이 잘 돌아가는데~! widget inspector에서 위젯 트리에 있는 항목을 선택하거나, Select Widget Mode를 선택하여 현재 동작중인 화면에서 하나의 위젯을 터치하면 이 에러가 떴다. 오늘 수정한 코드 중에 잘못된게 있나 싶어서 수정한 항목의 상위,,,또 그 상위를 주석 처리하면서 실행시켜보아도 위에서 얘기한 행동을 할 경우 같은 에러가 떴다. 구글링을 해봤더니, https://stackoverflow.com/..
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..
Stack 안에서 위젯의 위치를 width와 height로 설정할 때 현재 가능한 영역 내에서 비율로 위치시키는 방법이 궁금했다. width는 왼쪽에서부터 30% 오른쪽으로, height는 위쪽(top)에서부터 20% 아래쪽으로 처럼 말이다. 구글링을 했더니 stackoverflow에 방법이 있었다. 질문은 2017년에 올라온 것이지만, 답변에는 2021년에 올라온 것도 있어 참고할만 하다. 이와중에 이 질문자가 Remi Rousselet 이다~! 답변도 자기가 해놨네. 몰라서 질문했다기보다 알려주려고 한건가보다 Positioned.fill 과 LayoutBuilder를 이용해서 stack 아래에서 사용가능한 영역을 알아낸 뒤에, 원하는 위치에 위젯을 두기 위해 padding으로 나머지 공간을 점유하는 ..
- Total
- Today
- Yesterday
- Chrome
- position
- TextFormField
- UX
- 플러터
- 다트
- DART
- hide
- 한빛미디어
- 앱
- IOS
- firebase
- plugin
- Bluetooth
- 문제 해결
- UI
- 이미지
- addPostFrameCallback
- 앱 프로그래밍
- 앱개발
- 크롬
- 에러
- Syncfusion
- BLE
- Flutter
- TextField
- error
- 디자인
- SizedBox
- 인사이트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |