[flutter] 플러터(IndexedStack)는 어떻게 작동하나요?

Flutter는 다양한 위젯을 사용하여 사용자 인터페이스를 구축할 수 있는 강력한 UI 프레임워크입니다. IndexedStack은 이러한 위젯 중 하나로, 여러 개의 자식 위젯을 겹쳐놓고 한 번에 하나의 위젯만 표시하는데 사용됩니다. 이렇게 하면 화면 전환과 같은 시나리오에서 유용하게 사용할 수 있습니다.

IndexedStack의 작동 원리

IndexedStack은 자식 위젯의 리스트와 현재 선택된 인덱스를 가지고 있습니다. 인덱스는 리스트 내의 자식 위젯의 위치를 나타냅니다. 현재 선택된 인덱스에 해당하는 자식 위젯만 화면에 표시되며, 나머지 자식 위젯은 숨깁니다.

IndexedStack 사용 예제

아래는 IndexedStack을 사용하여 화면 전환을 구현하는 간단한 예제입니다.

IndexedStack(
  index: _currentIndex,
  children: [
    // 첫 번째 자식 위젯
    Container(
      child: Text('첫 번째 화면'),
    ),
    
    // 두 번째 자식 위젯
    Container(
      child: Text('두 번째 화면'),
    ),
    
    // 세 번째 자식 위젯
    Container(
      child: Text('세 번째 화면'),
    ),
  ],
)

위의 예제에서 _currentIndex 변수는 현재 선택된 인덱스를 나타냅니다. 이 변수를 변경하면 해당 인덱스의 자식 위젯이 화면에 표시됩니다. 예를 들어 _currentIndex가 0이면 첫 번째 자식 위젯이 표시되고, 1이면 두 번째 자식 위젯이 표시됩니다.

결론

IndexedStack은 여러 개의 위젯을 관리하고, 필요에 따라 화면에 표시할 수 있는 Flutter의 유용한 위젯 중 하나입니다. 다양한 사용 사례에서 화면 전환 등을 구현하는 데 활용할 수 있습니다.

더 자세한 내용은 Flutter 공식 문서를 참조하세요.