Flutter CupertinoTabView Widget使用详解

CupertinoTabView Widget是Cupertino风格的小部件,它用于显示选项卡栏中所选选项卡的内容。与Flutter的TabBarView Widget类似,它允许您在选项卡之间轻松切换内容。每个选项卡都可以包含一个不同的小部件树,使您可以在选项卡之间切换内容。

CupertinoTabView Widget具有以下属性:

  • builder: 一个IndexedWidgetBuilder类型的回调函数,表示要在选项卡中显示的小部件。必需的。

下面是一个使用CupertinoTabView Widget的例子:

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  final List<Widget> _tabPages = [
    Center(child: Text('Tab 1')),
    Center(child: Text('Tab 2')),
    Center(child: Text('Tab 3')),
  ];

  int _selectedIndex = 0;

  @override
  Widget build(BuildContext context) {
    return CupertinoTabScaffold(
      tabBar: CupertinoTabBar(
        items: [
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            label: 'Tab 1',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.settings),
            label: 'Tab 2',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.person),
            label: 'Tab 3',
          ),
        ],
        currentIndex: _selectedIndex,
        onTap: (index) {
          setState(() {
            _selectedIndex = index;
          });
        },
      ),
      tabBuilder: (context, index) {
        return CupertinoTabView(
          builder: (context) => _tabPages[index],
        );
      },
    );
  }
}

在上面的例子中,我们使用了CupertinoTabView Widget来创建选项卡中的内容。我们定义了一个_builder回调函数,用于构建每个选项卡中的小部件。在这个例子中,我们只是在每个选项卡中显示了一个简单的文本部件。

我们还在onTap回调函数中更新了_selectedIndex的值,以便我们可以根据所选中的选项卡来切换到相应的选项卡页面。最后,我们将CupertinoTabScaffold Widget返回到MyHomePage Widget中以显示它。

总之,CupertinoTabView Widget是一个非常有用的Cupertino风格的小部件,它可以帮助您构建一个具有多个页面的应用程序,并为您提供一个漂亮的选项卡栏,以便用户可以轻松地切换不同的选项卡并导航到不同的内容。

powered by Gitbook© 2023 编外计划 | 最后修改: 2023-11-24 03:36:59

results matching ""

    No results matching ""