오블완12 [Flutter] TextFormField 로 여러 개의 입력 데이터 받아오기 기존에 나는 textField 위젯으로 사용자에게 입력 값을 받는 작업을 하고 있었다. controller 를 사용하면 쉽게 작업이 가능하지만 여러 개의 textField 위젯을 사용하고 있었고, 이 경우 여러 개의 controller 를 만들고 관리하는 게 어렵다는 문제가 있다. 그래서 controller 를 만드는 대신 입력 데이터가 바뀔 때마다 onChange() 를 호출하여 값을 저장하고 있다. String text1 = '';String text2 = '';// TextField1TextField( onChanged: (newText) { setState(() { text1 = newText; }); },),// TextField2TextField( onChanged: .. 2024. 11. 27. [트러블슈팅] ListView 안에 ListeView(Feat. CustomScrollView) 문제 상황여러 개의 ListView 를 한 화면에 넣고 싶다. 아래와 같이 하나는 row 처럼 하나는 column 처럼 스크롤하고 싶다. 하지만 ListView 안에 ListView 를 사용하면 화면은 안 나타나고 오류가 난다. 문제The following assertion was thrown during performResize(): Vertical viewport was given unbounded height.무제한으로 수직 높이가 커져서 오류가 발생한다. 시도했던 해결 방법각 ListView 들을 Expanded 또는 Flexible 과 같은 위젯으로 감싸기 => 실패막연하게 이전에 Column 데이터를 ListView 로 바꿀 때 처럼 사이즈를 주지 않고 반응형 위젯으로 알아서 해줄줄 알았지만 .. 2024. 11. 26. [에러] A RenderFlex overflowed by 284 pixels on the right. 문제Row 로 감싸져 있는 Text 의 개수가 많아져 화면의 크기보다 넘어갈 때 발생한다. Row( children: [ Text('ProductImage'), Text('ProductImage'), Text('ProductImage'), Text('ProductImage'), Text('ProductImage'), ],) 해결나는 옆으로 스크롤하길 원했기 때문에 SingleChildScrollView 사용할 수 있다.SingleChildScrollView( scrollDirection: Axis.horizontal, child: Row( children: [ Text('ProductImage'), Text('ProductImage').. 2024. 11. 22. [Flutter] 앱 내에서 테마 변경 기능(Feat. ValueNotifier) 배경 설명Flutter 로 기차 예매 서비스를 만들고 있는데 시스템 환경에 따라 라이트/다크 모드로 나오게끔 테마 설정을 해주었다. 하지만 시스템 환경이 라이트 모드이지만 앱은 다크 모드로 쓰고 싶을수도 있는 법. 앱 내에서도 테마 지정이 가능하면 좋을 거 같다는 생각에 아이콘을 눌렀을 때 테마 변경하는 기능을 추가하도록 하고싶다. 동작 방식 구상테마를 변경하는 방법을 찾아보기 전에 간단하게 동작 방식을 구상해보았다. 먼저 테마가 지정되는 순간부터 적용되는 순서를 알아야 한다. MyApp 이 build 가 될 때 themeMode 는 시스템 설정 값을 가져와 light 이면 lightTheme 를 dark 면 darkTheme 로 지정이 된다. 그렇다면 themeMode 의 값을 다른 페이지에서 가져와.. 2024. 11. 20. 이전 1 2 3 다음