after_layout 패키지는 위젯의 첫 번째 레이아웃 처리 후 즉시 코드를 실행할 수 있게 해주며, 위젯이 화면에 렌더링된 후 정확한 크기와 위치에 접근할 수 있도록 보장합니다. 애니메이션, 위치 조정 또는 다른 UI 컴포넌트와의 통합과 같이 최종 레이아웃 측정값에 의존하는 작업에 특히 유용합니다. 이 패키지는 모바일, 웹 및 데스크톱을 포함하여 Flutter가 지원하는 모든 주요 플랫폼에서 작동합니다. 어떤 StatefulWidget 에도 추가할 수 있는 믹스인을 통해 간단한 API 를 제공합니다.
사용 사례
레이아웃 후 애니메이션 실행 중
실제 크기에 따라 위젯 위치 조정
레이아웃 데이터가 필요한 제3자 라이브러리 초기화
렌더링 후 UI 요소 동기화
동적 콘텐츠 크기 조정 처리
주요 기능
간단한 믹신 기반 API
크로스 플랫폼 호환성
첫 번째 프레임 이후에 한 번만 실행
타이머나 콜백이 필요 없습니다
StatefulWidget과 함께 작동
적합한 대상
정확한 레이아웃 타이밍이 필요한 개발자
동적 레이아웃을 갖춘 UI 중심 애플리케이션
렌더링 후에 트리거되는 애니메이션
레이아웃 인식이 필요한 사용자 정의 위젯
고려 사항
반복적인 레이아웃 이벤트에 적합하지 않습니다
잘못 사용할 경우 성능 문제를 일으킬 수 있습니다
상태를 가진 위젯 컨텍스트가 필요합니다
위젯 인스턴스당 한 번의 실행만 가능
첫 빌드 전에는 작동하지 않습니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
Flutter After Layout
Brings functionality to execute code after the first layout of a widget has been performed, i.e. after the first frame has been displayed.
Quick Usage
Add with AfterLayoutMixin<MyWidget> mixin to your State<MyWidget> class and then implement the FutureOr<void> afterFirstLayout(BuildContext context) abstract method. Code in this method will be called the first time this widget is laid out on the screen.
Motivation
If you want to display a widget that depends on the layout, such as a Dialog or BottomSheet, you can not use that widget in initState.