博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TabController定义顶部tab切换
阅读量:4595 次
发布时间:2019-06-09

本文共 1617 字,大约阅读时间需要 5 分钟。

前面通过DefaultTabController组件实现了AppBar里面的顶部导航切换,但是在项目中有数据请求,上拉加载更多等操作的时候,前面的写法,就不是很方便操作,因此,在flutter里面,还提供了一个用于实现顶部导航的组件:tabController。

基本实现

为了实现tabController的顶部切换,在前面项目的基础上,新建一个TabBarController.dart的页面,然后配置路由,并在首页配置路由跳转按钮。

接下来是写abBarController.dart的页面。

首先,要使用tabController组件,就必须是在一个继承StatefulWidget的动态组件,并且还要实现SingleTickerProviderStateMixin这个类,

然后在组件初始化的时候,实例化TabController,实例化的时候需要传入两个参数,其中第一个是固定写法,第二个代表Tab个数。

 

剩下的和前面差不多了,在AppBar里配置bottom属性,设置导航,然后在body里面添加导航对应的页面,不同的是,不管在bottom里面还是body里面,都还需要添加controller: this._tabController。

 abBarController.dart

import 'package:flutter/material.dart';class TabBarControllerPage extends StatefulWidget {  TabBarControllerPage({Key key}) : super(key: key);  _TabBarControllerPageState createState() => _TabBarControllerPageState();}class _TabBarControllerPageState extends State
with SingleTickerProviderStateMixin { TabController _tabController; @override void initState() { super.initState(); _tabController=new TabController( vsync: this, length: 2 ); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("TabBarControllerPage"), bottom: TabBar( controller: this._tabController, tabs:
[ Tab(text:"热销"), Tab(text:"推荐"), ], ), ), body: TabBarView( controller: this._tabController, children:
[ Center(child: Text("热销")), Center(child: Text("推荐")) ], ), ); }}

 代码下载:

转载于:https://www.cnblogs.com/yuyujuan/p/11026724.html

你可能感兴趣的文章
设计模式---组件协作模式之模板方法模式(Tempalte Method)
查看>>
程序员心理看WEB开发框架
查看>>
@Data 注解在实体类的使用可省去生成GET,SET方法
查看>>
webpack 介绍 & 安装 & 常用命令
查看>>
ASP.NET刷新页面的六种方法总结
查看>>
ECSHOP增加独立评论页面,并分页显示
查看>>
linux date -s
查看>>
jQuery实现可编辑表格
查看>>
Java实验三
查看>>
算法的评价
查看>>
python学习笔记(二)
查看>>
综合云平台 - GlusterFS - 03
查看>>
地球总在不停地转,时间总是不停地走
查看>>
3章 项目属性配置
查看>>
10 华电内部文档搜索系统 search05
查看>>
InterlliJ IDEA 创建maven的web项目并部署
查看>>
提交到SVN中的项目被删除 且项目名已经被新建项目占用找回方法
查看>>
Word2010_2003页眉有条横线怎么删掉
查看>>
qwq
查看>>
简述MVC思想与PHP如何实现MVC
查看>>