在TabBarView中预加载标签

时间:2018-12-03 18:35:58

标签: dart flutter

我有3个标签的flutter应用程序。应用加载时,我希望它加载所有3个页面,而不仅仅是显示的页面。 我的问题是,在滑动到其他选项卡时,需要一秒钟的时间来加载内容,然后进行动画处理。 在这种情况下,预加载标签的正确方法是什么? 还是通过将小部件保存到变量中来完成?

1 个答案:

答案 0 :(得分:0)

我这样使用它,加载标签页不会花费任何时间。

@override
  Widget build(BuildContext context) {
    return DefaultTabController(
      length: 3, //The number of tabs
      child: Scaffold(
        appBar: AppBar(
          title: Text('Your tabs page title'),
          bottom: TabBar(
            tabs: <Widget>[
              Tab(
                icon: Icon(Icons.someIcone),
                text: 'Page-1',
              ),
              Tab(
                icon: Icon(Icons.list),
                text: 'Page-2',
              ),
              Tab(
                icon: Icon(Icons.list),
                text: 'Page-3',
              ),

            ],
          ),
        ),
        body: TabBarView(
          children: <Widget>[
            PageOne(),
            PageTwo(),
            PageThree(),
          ],
        ),
      ),
    );
  }