Dart 如何为不同的屏幕显示不同的选项卡栏?

Dart 如何为不同的屏幕显示不同的选项卡栏?,dart,flutter,flutter-layout,Dart,Flutter,Flutter Layout,因此,在我的应用程序中,有三个屏幕可以使用底部栏进行导航,现在,对于三个屏幕中的每一个,我希望显示不同的导航选项卡栏,但相同的应用栏, 我尝试的是使用包含底部栏元素的列表索引,然后为每个索引返回一个tabBar小部件,但最终出现错误MyAppState是SingleTickerProviderStateMixin,但创建了多个ticker。我不知道那是什么 我真的需要解决这个问题,请指导我的溶胶或建议,如果有任何其他方式来实现这一点 主飞镖 错误 由于StackOverflow正文长度限制,必须

因此,在我的应用程序中,有三个屏幕可以使用底部栏进行导航,现在,对于三个屏幕中的每一个,我希望显示不同的导航选项卡栏,但相同的应用栏, 我尝试的是使用包含底部栏元素的列表索引,然后为每个索引返回一个tabBar小部件,但最终出现错误MyAppState是SingleTickerProviderStateMixin,但创建了多个ticker。我不知道那是什么

我真的需要解决这个问题,请指导我的溶胶或建议,如果有任何其他方式来实现这一点

主飞镖

错误 由于StackOverflow正文长度限制,必须从底部切割部分3000字

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