• tabBarController


    import 'package:flutter/material.dart';
    import 'package:flutter_screenutil/flutter_screenutil.dart';
    import 'bicycleCharge.dart';
    import 'carCharg.dart';
    
    class TabsPage extends StatefulWidget{
      @override
      _TabsPageState createState() => new _TabsPageState();
    }
    
    class _TabsPageState extends State<TabsPage> with SingleTickerProviderStateMixin{
      TabController _tabController;
    
      //①初始化,一加载便会触发该方法
      void initState(){
        super.initState();
        _tabController = new TabController(
          vsync: this,
          length: 2,
        );
      }
    
    
      @override
      Widget build(BuildContext context){
        //初始化
        ScreenUtil.instance = ScreenUtil( 750, height: 1334)..init(context);
        return DefaultTabController(
          length: 2,
          child: Scaffold(
            appBar: appBar(),
            body: Stack(
              children: <Widget>[
                TabBarView(
                  controller: this._tabController,//③
                  children: <Widget>[ 
                    ElectricBicycle(),
                    CarCharge(),
                  ],
                ),
              ],
            ),
            drawer: Container(
              padding: EdgeInsets.only(left: 80, right: 10),
              color: Colors.white,
              child: Column(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Text('个人中心')
                ],
              ),
            ),
          ),
        );
      }
    
      // appBar
      Widget appBar(){
        return AppBar(
           centerTitle: true,
            leading: IconButton(
              icon: Icon(
                Icons.person, 
                color: Color.fromRGBO(46, 48, 56, 1),
              ),
              onPressed: (){
                debugPrint('ddddd');
                Scaffold.of(context).openDrawer();
              },
            ),
            title: Container(
              child:  Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Text(
                    'XXXXXX',
                    style: TextStyle(
                      color: Colors.black,
                    ),
                    textAlign: TextAlign.right,
                  ),
                  IconButton(
                    alignment: Alignment.centerLeft,
                    icon: Icon(
                      Icons.arrow_drop_down, 
                      color: Color.fromRGBO(46, 48, 56, 1),
                    ),
                    onPressed: (){
                      debugPrint('down');
                    },
                  ),
                ],
              ),
            ),
            actions: <Widget>[
              Container(
                 ScreenUtil.getInstance().setWidth(60),
                height: ScreenUtil.getInstance().setHeight(60),
                child: IconButton(
                  icon: Image.asset('assets/icons/icon_title_msg.png'),
                  onPressed: (){
                    debugPrint('down');
                  },
                ),
              ),
            ],
            elevation: 0,
            bottom: TabBar(
              controller: this._tabController,//②
              isScrollable: true,
              indicator: const BoxDecoration(),
              unselectedLabelColor: Color.fromRGBO(46, 48, 56, 1),
              indicatorColor: Colors.black54,
              indicatorSize: TabBarIndicatorSize.label,
              // indicatorWeight: 1.0,
              labelColor: Colors.black,
              tabs: <Widget>[
                Tab(
                  child: Text(
                    'tabA',
                    style: TextStyle(
                      fontSize: ScreenUtil.getInstance().setSp(38)
                    ),
                  ),
                ),
                Tab(
                  child: Text(
                    'tabB',
                    style: TextStyle(
                      fontSize: ScreenUtil.getInstance().setSp(38)
                    ),
                  ),
                ),
              ],
            ),
            backgroundColor: Colors.white,
          );
      }
    }
    

      

  • 相关阅读:
    Spring 整合Hibernate与Struts2
    Spring @注解详解(转)
    Spring 事务
    Spring c3p0支持Hibernate配置
    Spring c3p0连接池配置
    Spring dbcp连接池配置与示例(以及JDBCTemplate的使用)
    struts转换器详解
    struts拦截器详解
    struts拦截器的使用
    OGNL表达式详解
  • 原文地址:https://www.cnblogs.com/xhrr/p/tabBarController.html
Copyright © 2020-2023  润新知