在Flutter中的同一小部件​​中同时使用TabController和AnimationController

时间:2019-11-12 02:52:12

标签: animation flutter

所有人。

今天,当我尝试在Flutter中并排创建LinearProgressIndicatorTabBarView时遇到了一个问题。我在Github上搜索了Flutter文档和一些示例,但失败了。

TL; DR

今天,当我尝试并排创建LinearProgressIndicator的{​​{1}}时遇到了一个问题。如果仅使用TabBarView创建新的海关ListWidget extends StatefulWidget,我的资源就没问题。但是,下面的代码使我的屏幕冻结。 TabBarView均未加载。 TabBarView不显示。

LinearProgressIndicator

我的源代码 :(我删除了一些不相关的代码)

_animationController = AnimationController(
        duration: const Duration(milliseconds: 2000), vsync: this);

我的class ListPage extends StatefulWidget { @override _ListPageState createState() => _ListPageState(); } class _ListPageState extends State<ListPage> with TickerProviderStateMixin { TabController _tabController; AnimationController _animationController; Animation<double> _animation; List<Tab> tabs; @override void initState() { super.initState(); TabsRepository tabsRepository = TabsRepository(); tabs = tabsRepository.getTabs(); _tabController = TabController(length: tabs.length, vsync: this); _animationController = AnimationController( duration: const Duration(milliseconds: 2000), vsync: this); _animation = Tween(begin: 0.0, end: 1.0).animate(_animationController); _animationController.repeat(); } @override void dispose() { _tabController.dispose(); _animationController.stop(); _animationController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( body: Container( child: Column( children: <Widget>[ LinearProgressIndicator(value: _animation.value), TabBarView( controller: _tabController, children: tabs.map((tab) => CardsTabView(tab.text)).toList(), ), ], ), ), ); } } 消息

Windows PowerShell

flutter doctor

我尝试了一些解决方案

  • 我从Copyright (C) Microsoft Corporation. All rights reserved. PS C:\Users\rikimaru\source\flutter\project> flutter doctor Doctor summary (to see all details, run flutter doctor -v): [√] Flutter (Channel stable, v1.9.1+hotfix.6, on Microsoft Windows [Version 10.0.17134.1069], locale ja-JP) [√] Android toolchain - develop for Android devices (Android SDK version 29.0.2) [√] Android Studio (version 3.5) [√] VS Code (version 1.40.0) [√] Connected device (1 available) • No issues found! 阅读了文档。
  • 我使用伪数据而不是api中的数据。
  • 我发现api.flutter.devSingleTickerProviderStateMixin之间有所不同。但是,Github上的this project对我有用。
  • 我重建并重新安装我的应用程序,而不是热重装。

0 个答案:

没有答案