전체 글146 flutter key flutter Key 위젯 트리에서 위젯이 움직일 때마다 현 상태를 보존하는 역할 위젯들을 새로 정렬하거나 위치를 옮기고 할때 해당 위젯에 할당된 key 위치가 바뀌어도 그 위젯이 무엇인지 정확하게 판별할수 있도록 해줄수 있고 다른 페이지에서 다시 돌아올때 페이지가 다시 빌드 되면서 컬렉션을 수정한 상태를 보존할 수 있습니다. 해당 사진과 같이 Widget Tree 와 Element Tree가 생성됐습니다. 색상 박스인 StlColorTile 위젯을 StatelessWidget으로 만들었기 때문에 "빨강" "노랑" 은 위젯 트리에 보관됩니다. 버튼을 눌러서 색상 박스의 위치를 바꾸면 트리는 아래와 같이 형성됩니다. Element Tree는 Widget Tree가 바뀌면 다시 Widget Tre.. 2025. 12. 30. Widget ,Element, Render Tree 플러터는 위젯의 변경된 부분만 다시 계산하고 갱신하는 구조로 설계되어 있습니다.겉보기에는 화면이 자주 다시 그려지는 것처럼 보이지만, 실제로는 필요한 부분만 효율적으로 업데이트되기 때문에 성능 저하가 거의 없습니다. 🔹 setState와 build의 관계setState()를 호출하면 해당 위젯의 build() 메서드가 다시 실행됩니다.이 과정에서 build() 안의 위젯들은 새로 생성되죠.하지만 “위젯이 새로 만들어지면 화면 전체가 다시 그려지지 않을까?”하는 걱정은 하지 않아도 됩니다.그 이유는 플러터가 화면을 구성할 때 3가지 트리 구조를 통해 효율적으로 관리하기 때문이에요.🔹 플러터의 3가지 트리 구조1️⃣ Widget Tree우리가 코드로 작성하는 위젯 구조 그 자체입니다.build()가 실행.. 2025. 11. 10. flutter 쿠퍼티노(cupertinodialog),Platform Flutter로 크로스 플랫폼 앱을 개발하다 보면, 각 OS(iOS, Android)의 고유한 디자인 가이드를 따르는 것이 사용자 경험(UX)에 매우 중요하다는 것을 깨닫게 됩니다. 특히 알림창(Dialog)은 사용자와의 상호작용에서 가장 빈번하게 사용되는 UI 중 하나입니다. Flutter는 기본적으로 Material Design(안드로이드 스타일)을 따르지만, iOS 사용자는 둥근 모서리의 Cupertino 스타일 알림창에 훨씬 익숙합니다. 1. 현재 플랫폼 확인하기: dart:io의 PlatformFlutter 앱이 현재 어느 플랫폼에서 실행되고 있는지 확인하려면 dart:io 라이브러리의 Platform 클래스를 사용해야 합니다.먼저, 파일 상단에 dart:io를 import 합니다. impo.. 2025. 11. 4. flutter buildcontext,of,명명된 생성자 방학동안 플러터 밀린 강의를 보면서 of , context 같은 것을 많이 사용하는 것을 볼수 있습니다. 오늘은 of, context 그리고 flutter 명명된 생성자를 알아보겠습니다. buildcontext 란 무엇인가 공식 문서에서도 조금 추상적으로 작성되어 있습니다context 는 widget tree 에서 현재 widget의 위치와 레이아웃 정보를 가지고 있는 객체 입니다. StatelessWidget이나 StatefulWidget의 State든 생성을 할 때 Widget을 리턴하는 build 메서드를 가지며모든 Widget 은 build 메서드를 가지고 있고 BuildContext 는 'context' 라는 타입의 인자를 받습니다. 이를 사용하여 다른 위젯과 상호작용하거나 레이아웃.. 2025. 7. 8. 이전 1 2 3 4 ··· 37 다음