Flutter 颤振选项卡视图不';t通过点击选项卡/选项卡不改变选项卡控制器';刷卡时不会更改,但tabbarview会更改

Flutter 颤振选项卡视图不';t通过点击选项卡/选项卡不改变选项卡控制器';刷卡时不会更改,但tabbarview会更改,flutter,tabs,flutter-appbar,Flutter,Tabs,Flutter Appbar,我已经尝试了很多关于用标签改变appbar标题的解决方案,我已经解决了,但是现在有一个小问题;按下选项卡时,appbar会随选项卡而变化,但tabbarview不会。在选项卡栏视图上向左或向右滑动会更改选项卡栏视图,但不会更改选项卡(appbar标题也不会更改) 我的代码如下: final List<Tabs> _tabs = [new Tabs(title: "Registered UAS", icon: new IconData(58826, fontFamily: 'Mater

我已经尝试了很多关于用标签改变appbar标题的解决方案,我已经解决了,但是现在有一个小问题;按下选项卡时,appbar会随选项卡而变化,但tabbarview不会。在选项卡栏视图上向左或向右滑动会更改选项卡栏视图,但不会更改选项卡(appbar标题也不会更改)

我的代码如下:

final List<Tabs> _tabs = [new Tabs(title: "Registered UAS", icon: new IconData(58826, fontFamily: 'MaterialIcons')),
new Tabs(title: "Registration", icon: IconData(57680, fontFamily: 'MaterialIcons'))
];

Tabs _myHandler ;

void initState() {
super.initState();
_controller = new TabController(length: 2, vsync: this);
_myHandler = _tabs[0];
_controller.addListener(_handleSelected);
}
void _handleSelected() {
setState(() {
  _myHandler= _tabs[_controller.index];
});
}

@override
Widget build(BuildContext context) {
return WillPopScope(
    child: DefaultTabController(
      length: 2,
      child: new Scaffold(
          appBar: AppBar(
            title: Text(_myHandler.title),
            bottom: new TabBar(
              controller: _controller,
              tabs: <Widget>[
                new Tab(icon: new Icon(_tabs[0].icon)),
                new Tab(icon: new Icon(_tabs[1].icon))
              ],
            ),
          ),
          body: new TabBarView(children: [...])
final List\u tabs=[新选项卡(标题:“注册的UAS”,图标:新iConda(58826,fontFamily:“MaterialIcons”),
新选项卡(标题:“注册”,图标:Iconda(57680,fontFamily:“唯物主义者”))
];
Tabs_myHandler;
void initState(){
super.initState();
_控制器=新的TabController(长度:2,vsync:this);
_myHandler=_制表符[0];
_controller.addListener(_handleSelected);
}
void_handleSelected(){
设置状态(){
_myHandler=_tabs[_controller.index];
});
}
@凌驾
小部件构建(构建上下文){
返回式示波器(
子级:DefaultTabController(
长度:2,
儿童:新脚手架(
appBar:appBar(
标题:文本(_myHandler.title),
底部:新选项卡栏(
控制器:_控制器,
选项卡:[
新建选项卡(图标:新建图标(_tabs[0]。图标)),
新建选项卡(图标:新建图标(_tabs[1]。图标))
],
),
),
正文:新选项卡视图(子项:[……])

我在标签更改中更改了appbar标题,现在我遇到了类似的情况,比如,除了我不认为解决方案对我有效(我已经尝试过)

通过在TabBarView下添加
controller:\u controller,
解决了这个问题。如果您想使用自己的控制器,那么您不应该使用
DefaultTabController
小部件。例如,您使用的DefaultTabController不存在


如果你想使用自己的控制器,你应该使用这个例子。

如果您想在不使用自己的控制器的情况下使用DefaultTabController,则应该使用此示例

import 'package:flutter/material.dart';

void main() {
  runApp(TabBarDemo());
}

class TabBarDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: DefaultTabController(
        length: 3,
        child: Scaffold(
          appBar: AppBar(
            bottom: TabBar(
              tabs: [
                Tab(icon: Icon(Icons.directions_car)),
                Tab(icon: Icon(Icons.directions_transit)),
                Tab(icon: Icon(Icons.directions_bike)),
              ],
            ),
            title: Text('Tabs Demo'),
          ),
          body: TabBarView(
            children: [
              Icon(Icons.directions_car),
              Icon(Icons.directions_transit),
              Icon(Icons.directions_bike),
            ],
          ),
        ),
      ),
    );
  }
}