TabController의 현재 위치값을 실시간으로 넘겨주고 싶은 경우, animation.addListener를 통해 이벤트를 발생시키고 index와 offset을 더한 값으로 현재 탭 위치를 구할 수 있다.
TabBarView의 TabController를 활용하여 탭 인덱스에 따라 애니메이팅되는 위젯을 구현할 수 있다.
최근 안드로이드 스튜디오 업데이트 이후 flutter에 빨간 X 마크와 함께 프로젝트가 인식되지 않는 현상을 종종 겪고 있다.sdk 경로도 제대로 인식되지 않는다.터미널로 빌드 한번 돌리고 안드로이드 스튜디오를 재시작 했더니 다시 정상으로 돌아왔다.
PageView를 사용하다 보면 좌우 여백에 이전, 다음 페이지를 보이게 하고 싶을 때가 있다.
ListView나 SingleChildScrollView와 같이ScrollView를 상속해 스크롤이 가능한 위젯들을 사용하는 경우, 무한 스크롤 구현 등을 위해 현재 스크롤 위치를 추적할 때가 많다.
PrimaryScrollController를 사용해 ScrollToTop 기능을 쉽게 구현할 수 있다.
Text 위젯을 사용하다보면, 특정 텍스트를 적용한 위젯의 현재 사이즈나 overflow 여부를 구해야할 경우가 있다.이때 TextPainter를 사용하면 위젯을 빌드하기 전에 먼저 위젯의 사이즈를 계산해볼 수 있다.
텍스트가 overflow 된 경우, ...이 나오도록 ellipsis를 설정할 수 있으나, ...이 아니라 더보기와 같은 custion ellipsis를 주고 싶을 때가 있다.
GestureDetector를 사용하면 child 위젯을 터치 가능하게 만들 수 있지만, 해당 영역이 비어있는 경우에는 터치가 불가능하다.이 때 behavior: HitTestBehavior.opaque 파라미터를 줌으로써 빈 공간도 터치가 가능하게 할 수 있다.
Flutter에선 ReqExp 클래스를 활용하여 정규표현식을 사용할 수 있다.
child 위젯 사이즈에 영향을 받되, 최대 최소치 사이즈를 정해두고 싶다면 `Constraint`를 활용하는 것이 좋은 방법이다.
기본 텍스트 위젯인 Text에는 복사를 위해 드래그 할 수 있는 기능이 없다. 이를 위해 Flutter에서는 SelectableText를 사용해 드래그 가능한 텍스트를 만들 수 있다.