颤动-如何在转到另一个标签时不改变标签位置

时间:2018-11-02 12:55:29

标签: dart flutter tabbar flutter-layout

我有一个列表,然后转到该列表,将有4个标签栏小部件。当我移到另一个标签栏并返回到原始标签时,我的上一个滚动位置发生了变化。

例如,如何在“选项卡1”中设置滚动位置,然后转到“选项卡2”时,“选项卡1”的位置仍保持其最后位置?

在“首页”标签上遵循以下代码段:

class HomeTabDetail extends StatefulWidget {
  final Fixture fixture;
  final FixtureModel model;


  HomeTabDetail({this.fixture, this.model});

  @override
  _HomeTabDetailState createState() => _HomeTabDetailState();
}

class _HomeTabDetailState extends State<HomeTabDetail> {

 @override
   void initState() {
     // TODO: implement initState
     super.initState();
    loadData();  
   }

     Future loadData() async {
    await Future.wait([
      widget.model.fetchVenue(widget.fixture.venueId.toString()),
      widget.model.fetchCountry(widget.fixture.league.countryId.toString())

    ]); 
  }

  @override
  Widget build(BuildContext context) {
    return DefaultTabController(
      length: 4,
      child: Scaffold(
        appBar: AppBar(
          title: Text('Info Pertandingan'),
          bottom: TabBar(
            tabs: <Widget>[
              Tab(text: 'RINCIAN'),
              Tab(text: 'MEDIA'),
              Tab(text: 'LINEUP'),
              Tab(text: 'KLASEMEN'),
            ],
          ),
        ),
        body: ScopedModelDescendant<FixtureModel>(builder: 
        (context, child, model){
          return TabBarView(
          children: <Widget>[
            DetailMatchTab(widget.fixture),
            MediaMatchTab(),
            LineupMatchTab(),
            KlasemenMatchTab()
          ],
        );
        })


      ),
    );
  }
}

0 个答案:

没有答案