Dart 如何为不同的屏幕显示不同的选项卡栏?
因此,在我的应用程序中,有三个屏幕可以使用底部栏进行导航,现在,对于三个屏幕中的每一个,我希望显示不同的导航选项卡栏,但相同的应用栏, 我尝试的是使用包含底部栏元素的列表索引,然后为每个索引返回一个tabBar小部件,但最终出现错误MyAppState是SingleTickerProviderStateMixin,但创建了多个ticker。我不知道那是什么 我真的需要解决这个问题,请指导我的溶胶或建议,如果有任何其他方式来实现这一点 主飞镖 错误 由于StackOverflow正文长度限制,必须从底部切割部分3000字Dart 如何为不同的屏幕显示不同的选项卡栏?,dart,flutter,flutter-layout,Dart,Flutter,Flutter Layout,因此,在我的应用程序中,有三个屏幕可以使用底部栏进行导航,现在,对于三个屏幕中的每一个,我希望显示不同的导航选项卡栏,但相同的应用栏, 我尝试的是使用包含底部栏元素的列表索引,然后为每个索引返回一个tabBar小部件,但最终出现错误MyAppState是SingleTickerProviderStateMixin,但创建了多个ticker。我不知道那是什么 我真的需要解决这个问题,请指导我的溶胶或建议,如果有任何其他方式来实现这一点 主飞镖 错误 由于StackOverflow正文长度限制,必须
I/flutter (20666): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (20666): The following assertion was thrown building Builder:
I/flutter (20666): _MyAppState is a SingleTickerProviderStateMixin but multiple tickers were created.
I/flutter (20666): A SingleTickerProviderStateMixin can only be used as a TickerProvider once. If a State is used for
I/flutter (20666): multiple AnimationController objects, or if it is passed to other objects and those objects might
I/flutter (20666): use it more than one time in total, then instead of mixing in a SingleTickerProviderStateMixin, use
I/flutter (20666): a regular TickerProviderStateMixin.
I/flutter (20666):
I/flutter (20666): When the exception was thrown, this was the stack:
I/flutter (20666): #0 __MyAppState&State&SingleTickerProviderStateMixin.createTicker.<anonymous closure> (package:flutter/src/widgets/ticker_provider.dart:85:7)
I/flutter (20666): #1 __MyAppState&State&SingleTickerProviderStateMixin.createTicker (package:flutter/src/widgets/ticker_provider.dart:92:6)
I/flutter (20666): #2 new AnimationController (package:flutter/src/animation/animation_controller.dart:244:21)
I/flutter (20666): #3 new TabController (package:flutter/src/material/tab_controller.dart:86:50)
I/flutter (20666): #4 _MyAppState.initState (package:pro_app/main.dart:46:18)
I/flutter (20666): #5 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3846:58)
I/flutter (20666): #6 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #7 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #8 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #9 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
I/flutter (20666): #10 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #11 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #12 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
I/flutter (20666): #13 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
I/flutter (20666): #14 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
I/flutter (20666): #15 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #16 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #17 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #18 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
I/flutter (20666): #19 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #20 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #21 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
I/flutter (20666): #22 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #23 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #24 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
I/flutter (20666): #25 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #26 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #27 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
I/flutter (20666): #28 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #29 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #30 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
I/flutter (20666): #31 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
I/flutter (20666): #32 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
I/flutter (20666): #33 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11)
I/flutter (20666): #34 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #35 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #36 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #37 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
I/flutter (20666): #38 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
I/flutter (20666): #39 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
I/flutter (20666): #40 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #41 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #42 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #43 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
I/flutter (20666): #44 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
I/flutter (20666): #45 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
I/flutter (20666): #46 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11)
I/flutter (20666): #47 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #48 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #49 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #50 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
I/flutter (20666): #51 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #52 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #53 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
I/flutter (20666): #54 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
I/flutter (20666): #55 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
I/flutter (20666): #56 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #57 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #58 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #59 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
I/flutter (20666): #60 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #61 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #62 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
I/flutter (20666): #63 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
I/flutter (20666): #64 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
I/flutter (20666): #65 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11)
I/flutter (20666): #66 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #67 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #68 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #69 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
I/flutter (20666): #70 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
I/flutter (20666): #71 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
I/flutter (20666): #72 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #73 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #74 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #75 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4876:14)
I/flutter (20666): #76 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #77 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #78 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
I/flutter (20666): #79 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
I/flutter (20666): #80 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
I/flutter (20666): #81 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #82 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #83 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #84 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16)
I/flutter (20666): #85 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5)
I/flutter (20666): #86 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3716:5)
I/flutter (20666): #87 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3864:11)
I/flutter (20666): #88 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3711:5)
I/flutter (20666): #89 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2956:14)
I/flutter (20666): #90 Element.updateChild (package:flutter/src/widgets/framework.dart:2759:12)
I/flutter (20666): #91 ComponentElement.performRebuild...
创建选项卡的正确方法之一是在main.dart中指定路线,如下所示:
void main() {
runApp(new MaterialApp(
debugShowCheckedModeBanner: false,
home: new Home(),
routes: <String, WidgetBuilder>{
"/tabs": (BuildContext context) => new Tabs(),//add your route
我希望我帮助了你
你能发布其他文件的代码吗?我不认为它们是必需的,谢谢你的建议,我将使saperate文件成为我的问题是在不同的屏幕上显示不同的选项卡栏。不是用这种方法,我必须更改布局
void main() {
runApp(new MaterialApp(
debugShowCheckedModeBanner: false,
home: new Home(),
routes: <String, WidgetBuilder>{
"/tabs": (BuildContext context) => new Tabs(),//add your route
import 'package:YOURPROYECT/FOLDER/file.dart' as first; //here is your 1st tab
import 'package:YOURPROYECT/FOLDER/file.dart' as second;//and your second
//you can add more tabs, as third or fouth, see UI/UX what they recommend.
class Tabs extends StatefulWidget {
@override
MyTabsState createState() => new MyTabsState();
}
class MyTabsState extends State<Tabs> with SingleTickerProviderStateMixin {
TabController controller;
@override
Widget build(BuildContext context) {
return new Scaffold(
bottomNavigationBar: new Material(
color: color_appbar,
child: new TabBar(
controller: controller,
tabs: <Tab>[
new Tab(icon: new Icon(Icons.home,)),
new Tab(icon: new Icon(Icons.search)),
new Tab(icon: new Icon(Icons.notifications)),
]
)
),
body: new TabBarView(
controller: controller,
children: <Widget>[
new first.Home(),
new second.Search(),
new fourth.Notifications(),
new FutureBuilder(
//you can continous with you code
import 'package:YOURPROYECT/Estilo.dart';
import 'package:flutter/material.dart';
class Search extends StatelessWidget {
@override
Widget build(BuildContext context){
return new Scaffold(
appBar: new AppBar(
title: new Text("Search"),
//you can continous