Flutter 오류 "'constraints.hasBoundedHeight': is not true." 해결법
2023. 1. 13. 20:58
Flutter
Column안에서 horizontal ListView를 사용하려는 경우에 가끔 이런 오류가 생긴다. 보통 Column은 보여지는 화면을 할당하는데, ListView는 무한히 확장하기 때문에 발생하는 오류가 많아서 shrinkWrap(ListView의 영역을 부모위젯을 따라가게 함)을 true로 해주고 scrollDirection을 verical이 아닌 horizontal로 설정해주면 보통 해결되는데, 이번엔 'constraints.hasBoundedHeight': is not true.이러한 오류가 나타났다. 구글링을 하고, Stack Overflow에서 발견한 해결법은 ListView를 다시 Sizedbox,Container로 영역을 지정해주는 것이다. 아마 Column에서 ListView이후에도 다른..
[Flutter] 어플 발행하기 전 null Check!
2022. 12. 9. 15:50
Flutter
오늘은 어플을 발행하기 전 꼭 해봐야하는 null Check 방법입니다. 우선 null Check을 하는 이유는 간단합니다. 저희가 테스트하는 환경과는 다르게 실제 유저의 핸드폰은 굉장히 여러가지 상황이 존재합니다. (ex, 연락처 불러오는 어플인데, 연락처가 없음 ) 저희가 경험하지 못한 상황도 존재하기 때문에 저희는 null check를 통해 다양한 상황에서도 오류가 나지 않게 설정해야하는 것이죠. 그래서 null Check를 어떻게 하냐 1). if문을 이용하기 null일 수 있는 부분에( if( xxx != null) else{ null일 경우 실행할 명령 } ) 해당 구문을 이용하여 null일 경우에 error를 대비하기 2) 삼항연산자 이용하기 ( 변수 != null ? ( null이 아닐 경..
[Flutter] @override (오버라이드란)?
2022. 12. 8. 19:58
Flutter
override는 원래 존재하던 Widget을 extend로 이용할 때, 해당 위젯의 정보(함수, 변수 등)를 가져오게 됩니다. 그때, @override를 적은 뒤에 적으면 겹치는 부분이 있을 때, 원래 존재하던 위젯의 정보가 아닌 내 정보를 먼저 적용해달라는 것입니다. 예를들어, 아래와 같은 코드가 있다고 가정하겠습니다. class Practice1 extends StatelessWidget { const Practice1({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Container(); } } 그렇다면, 내가 만든(커스텀위젯)Practice1은 statelessWidget의 함수와 변수를 복사..
[Flutter] Unimplemented handling of missing static target 오류 해결
2022. 12. 8. 15:26
Flutter
Unimplemented handling of missing static target 이라는 오류를 빌드했는데 만나게 되었습니다. terminal에서 flutter clean 이후 flutter run을 하면 해결입니다! 아래의 스택오버 플로우의 정보를 참고하였습니다. https://stackoverflow.com/questions/58055330/flutter-unimplemented-handling-of-missing-static-target Flutter: Unimplemented handling of missing static target I am running my first Flutter project I created a sample project and I was able to run th..
[Flutter] UI의 기본 Container Widget
2022. 12. 8. 13:39
Flutter
Container Widget 모든 UI의 기본은 네모박스에서 시작이 되기에 디자인의 핵심인 Container 제대로 알고 해야합니다. *Container위젯은 위치를 정해주지 않는다면, 좌측 상단에 항상 위치하게 됩니다. 1. color만 설정 => width와 height가 없기 때문에 화면 전체를 Container가 할당하게 됩니다. 2. width와 color만 설정 => width만 정해져있기에 height(높이)는 화면 전체를 할당하게 됩니다. 3. height와 color만 설정 => height만 정해져있기에 width(너비)는 화면 전체를 할당하게 됩니다. 4. width,height,color 모두 설정 => width와 height 모두 정해져 있기 때문에 정해진 만큼만 할당됩니다. ..
[Flutter] ClipRRect로 Image BorderRadius 만들기
2022. 11. 24. 00:31
Flutter
Image에 BorderRadius를 적용하고 싶은데 Container로 BorderRadius를 이용하더라도 적용이 되지 않는다. 이를 해결하기 위해서는 ClipRRect를 이용하면 된다. Column( children: [ Center( child: Text( "Image를 Container로 감싼 후,\nContainer에 BorderRadius주기", style: TextStyle(fontSize: 20), )), Container( width: 150, height: 150, child: Image.asset('assets/images/user_profile.jpg'), decoration: BoxDecoration( borderRadius: BorderRadius.circular(30), ),..
[Flutter] Text Overflow 오류 해결 (with snackbar)
2022. 11. 19. 20:09
Flutter
오늘은 왼쪽의 사진처럼 snackBar에서 text overflow가 발생했을 때, 오류를 해결하는 방법에 대해서 적겠습니다. snackbar로 오류같은 것을 보여주기 위해서 이용하게 되었을 때, 변동적인 값이 있는 변수를 snackbar로 보여줄 때 2가지 경우가 있는데, 각각 해결하는 방법에 대해서 말씀드리겠습니다. 꼭 snackBar가 아니어도, Text overflow 자체를 적용하는 방법은 동일합니다. -> 1. Text위젯의 상위 위젯이 없는 상황 (Text 위젯만 사용) -> 2. Text위젯의 상위 위젯이 Row나 Column인 상황 1. snackBar안에 Text위젯만 사용한 경우 아래와 같이 Text widget안의 overflow만 설정해주면 바로 적용이 됩니다. SnackBar( ..
[Flutter,Dart] List 안에 값을 추가, 삽입하는 방법
2022. 11. 17. 23:56
Flutter
List안에 값을 추가하기 위해서는 2가지의 메서드를 사용하여 구현할 수 있다. 1. add ( 값을 리스트 마지막 인덱스에 추가) 2. insert (값을 리스트 안의 원하는 위치에 추가) 아래 코드와 같이 이용할 수 있다. void main() { List numbers = [1,2,3]; //numbers 리스트 마지막에 6을 추가함 numbers.add(6); print(numbers); //numbers = [1,2,3,6] numbers.insert(2,5); print(numbers); //numbers = [1,2,5,3,6] }