zoukankan      html  css  js  c++  java
  • nav 选项卡

    代码:

    import 'package:flutter/material.dart';

    class KeepAliveDemo extends StatefulWidget {
    @override
    _KeepAliveDemoState createState() => _KeepAliveDemoState();
    }
    //with类似多重继承
    class _KeepAliveDemoState extends State<KeepAliveDemo> with SingleTickerProviderStateMixin {
    TabController _controller;

    @override
    void initState(){

    super.initState();
    _controller = TabController(length: 3,vsync: this);//vsync 垂直
    }
    @override
    void dispose(){
    _controller.dispose();
    super.dispose();
    }

    @override
    Widget build(BuildContext context) {
    return Scaffold(
    appBar: AppBar(
    title: Text('keepAlive'),
    elevation: 8.0,
    bottom: TabBar(
    controller: _controller,
    tabs: <Widget>[
    Tab(icon: Icon(Icons.directions_bike)),
    Tab(icon: Icon(Icons.directions_boat)),
    Tab(icon: Icon(Icons.directions_car)),
    ],
    ),
    ),
    body: TabBarView(
    controller: _controller,
    children: <Widget>[
    Text('111'),
    Text('222'),
    Text('333')
    ],
    ),
    );
    }
    }
    总结:

    导航栏下嵌套tabController

    final TabController _controller

     

     

    多重继承with 关键字

    初始化

    _controller = TabController(length:xx,vsync:this)//vsync 继承于 SingleTickerProviderStateMixin 垂直布局

     

    flutter 的tabController 是个模型 里面可以直接放数据 

    appBar 放 tabController

    appBar(

    bottom:Tabbar(

    controller : _controller

    tabs:<widget>[//次数个数要和上面的length 个数对应

    Tab(icon:xxx)//

    Tab(icon:xxx)//

    Tab(icon:xxx)//

    ]

    )

    )

  • 相关阅读:
    Cheapest Palindrome(区间DP)
    Dividing coins (01背包)
    Cow Exhibition (01背包)
    Bone Collector II(01背包kth)
    饭卡(01背包)
    Charm Bracelet(01背包)
    Investment(完全背包)
    Bone Collector(01背包)
    Robberies(01背包)
    ACboy needs your help(分组背包)
  • 原文地址:https://www.cnblogs.com/pp-pping/p/12180554.html
Copyright © 2011-2022 走看看