반응형

DefaultTabController는 Flutter에서 TabBarTabBarView 위젯을 쉽게 구현할 수 있게 해주는 위젯입니다. DefaultTabController는 탭의 수와 탭 전환을 관리하는 로직을 포함하여, 탭을 더 쉽게 만들고 관리할 수 있도록 도와줍니다.

DefaultTabController의 주요 속성은 다음과 같습니다:

  • length: 탭의 수를 정의합니다.
  • child: TabBarTabBarView를 포함하는 자식 위젯을 정의합니다.

기본적으로 DefaultTabController는 상태를 자동으로 관리하며, 탭을 전환할 때 애니메이션을 포함한 모든 작업을 처리합니다.

아래는 DefaultTabController를 사용하는 예제 코드입니다:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return DefaultTabController(
      length: 3, // 탭의 수
      child: Scaffold(
        appBar: AppBar(
          title: Text('DefaultTabController Example'),
          bottom: TabBar(
            tabs: [
              Tab(icon: Icon(Icons.directions_car), text: "Car"),
              Tab(icon: Icon(Icons.directions_transit), text: "Transit"),
              Tab(icon: Icon(Icons.directions_bike), text: "Bike"),
            ],
          ),
        ),
        body: TabBarView(
          children: [
            Center(child: Text("Car Tab")),
            Center(child: Text("Transit Tab")),
            Center(child: Text("Bike Tab")),
          ],
        ),
      ),
    );
  }
}

위 코드에서 DefaultTabController는 3개의 탭을 관리합니다. TabBar 위젯은 탭 버튼들을 표시하고, TabBarView 위젯은 각 탭에 대한 콘텐츠를 표시합니다. 사용자는 탭을 클릭하여 다른 화면으로 전환할 수 있습니다.

이렇게 DefaultTabController를 사용하면, 탭 간의 전환과 관련된 모든 상태 관리를 자동으로 처리할 수 있습니다.

 

 

반응형

+ Recent posts