본문 바로가기

WidgetTree4

Flutter 리스트뷰를 SingleChildScrollView 안에 배치하되 서로 따로 스크롤되지 않도록 하는 방법은 무엇인가요?, how to place a listview inside a SingleChildScrollView but prevent them from scrolling separately? 질문 나는 다음과 같은 위젯 트리를 가지고 있습니다: SingleChildScrollView Column Container ListView(또는 GridView) 문제는 위와 같은 위젯 트리일 때, 오류가 발생한다는 것입니다: NEEDS PAINT 그래서 위젯 트리를 다음과 같이 변경했습니다: Column Container ListView(또는 GridView) 하지만 이 상황에서 ListView 또는 GridView 부분이 별도로 스크롤되고 있으며, 전체 위젯 트리를 스크롤하고 싶습니다. 어떻게 해야 할지 어떻게 생각하시나요? 답변 당신은 첫 번째 위젯 트리를 사용하고 다음 변경 사항을 적용할 수 있습니다: 모든 ListView와 GridView에 shrinkWrap: true를 설정하세요. 이렇게 하.. 2023. 8. 12.
Flutter 플러터: 키보드 열기 및 닫기 감지 [중복], Flutter: Detect keyboard open and close [duplicate] 질문 나는 애플리케이션의 가장 상위 수준에 BottomNavigationBar를 가지고 있습니다. 나는 키보드가 열리고 닫히는 것을 앱 또는 하위 트리 어디에서나 감지하여 키보드가 보이는 동안 BottomNavigationBar를 표시하고 숨기고 싶습니다. 이것은 일반적인 문제이며 BottomNavigationBar와 직접적으로 관련이 없을 수도 있습니다. 다시 말해, BottomNavigationBar를 추상화하세요 :-) 답변 키보드 가시성을 확인하려면 위젯 트리의 어디에서나 viewInsets 속성을 확인하십시오. viewInsets.bottom이 0과 같을 때 키보드가 숨겨져 있습니다. MediaQuery를 사용하여 viewInsets를 확인할 수 있습니다: MediaQuery.of(context.. 2023. 7. 17.
Flutter 안드로이드 스튜디오에서 플러터 아웃라인은 "표시할 것이 없습니다"라고 표시됩니다., Flutter Outline Shows "Nothing to show" in android studio 질문 나는 Flutter Outline을 통해 위젯을 추출하려고 하지만, Android Studio에서 아래와 같은 문제를 마주하고 있다. Flutter Outline은 "표시할 것이 없음"을 보여줍니다. 실행 후 flutter doctor -v 다음이 표시됩니다: 이 문제를 어떻게 극복할 수 있을까요? 답변 마우스를 위젯 위로 이동하고 Ctrl (또는 macOS에서 ⌘ command)를 누른 다음 해당 위젯을 클릭하세요. 이 단계 이후에는 Flutter Outline이 활성화되어 위젯 트리가 표시됩니다. 2023. 6. 12.
Flutter 플러터에서 stateful 위젯과 stateless 위젯의 관계는 무엇인가요?, What is the relation between stateful and stateless widgets in Flutter? 질문 상태가 있는 위젯은 수명 내에서 상태를 변경하는 모든 위젯으로 정의됩니다. 하지만 StatelessWidget은 자식 중 하나로 StatefulWidget을 가지는 것이 매우 일반적인 관행입니다. 만약 StatelessWidget이 자식 중 하나로 StatefulWidget을 가지면 StatelessWidget은 상태가 있는 위젯이 되지 않을까요? StatelessWidget의 코드 일부로서 문서를 살펴보았지만, StatelessWidget이 Statefulwidget을 자식으로 가질 수 있으면서도 여전히 StatelessWidget으로 유지하는 방법을 알 수 없었습니다. Flutter에서 상태가 있는 위젯과 상태가 없는 위젯 간의 관계와 차이점은 무엇인가요? 답변 A StatelessWidget .. 2023. 5. 26.