【笔记】Flutter的Scaffold脚手架组件
前言
Flutter的Scaffold脚手架组件学习笔记
Scaffold组件
appBar:定义顶部导航栏body:定义页面主体
1 | import 'package:flutter/material.dart'; |
BottomNavigationBar底部导航栏
1 | import 'package:flutter/material.dart'; |
iconSize:图标大小fixedColor:选中的图标颜色type: BottomNavigationBarType.fixed:可以放大于3个按钮bottomNavigationBar:定义底部导航栏currentIndex:定义当前选中按钮的索引onTap:按钮被点击触发的事件items:所有按钮元素
1 | import 'package:flutter/material.dart'; |
1 | import 'package:flutter/material.dart'; |
1 | import 'package:flutter/material.dart'; |
实现中间凸起的底部导航栏
color:浮动按钮的底纹颜色borderRadius:浮动按钮的底纹圆角backgroundColor:浮动按钮的背景颜色floatingActionButtonLocation:浮动按钮的位置
FloatingActionButtonLocation.centerDocked:Dock中间FloatingActionButtonLocation.centerFloat:屏幕浮动中间FloatingActionButtonLocation.centerTop:屏幕顶部中间FloatingActionButtonLocation.endDocked:Dock右边FloatingActionButtonLocation.endFloat:屏幕浮动右边FloatingActionButtonLocation.endTop:屏幕顶部右边FloatingActionButtonLocation.endContained:屏幕底部右边FloatingActionButtonLocation.startDocked:Dock左边FloatingActionButtonLocation.startFloat:屏幕浮动左边FloatingActionButtonLocation.startTop:屏幕顶部左边
1 | import 'package:flutter/material.dart'; |
侧边栏
- 侧边栏既可以通过点击菜单按钮展现,也可以通过从屏幕边缘向屏幕中间滑动展现
drawer:定义左侧侧边栏endDrawer:定义右侧侧边栏
1 | import 'package:flutter/material.dart'; |
菜单栏头部
1 | import 'package:flutter/material.dart'; |
头部背景图占满侧边栏
通过Drawer实现
<url>:图片URL
1 | import 'package:flutter/material.dart'; |
通过UserAccountsDrawerHeader实现
accountName:定义用户名accountEmail:定义用户邮箱decoration:定义背景图currentAccountPicture:定义用户当前头像otherAccountsPictures:定义用户其他头像
1 | import 'package:flutter/material.dart'; |
AppBar顶部导航栏
title:标题leading:左侧图标,通常是菜单图标或返回图标actions:右侧图标,可以定义多个backgroundColor:背景颜色
1 | import 'package:flutter/material.dart'; |
实现通过顶部导航栏切换页面
TabController的length,与TabBar的tabs数量要保持一致TabController的length,与TabBarView的children数量要保持一致
isScrollable:定义是否可以滚动indicatorColor:指示器(当前选项卡底部的光标)的颜色indicatorWeight:指示器的粗细indicatorSize:指示器的长度
TabBarIndicatorSize.label:与文字等长TabBarIndicatorSize.tab:与标签等长
indicator:指示器样式
color:指示器背景颜色borderRadius:指示器圆角
labelColor:所有文字颜色unselectedLabelColor:未选中文字颜色labelStyle:文字样式
fontSize:字号
padding:边距
1 | import 'package:flutter/material.dart'; |
获取当前选中的tab索引值
- 监听tabController的改变事件,获取当前选中的tab索引值
1 |
|
销毁controller
1 |
|
定义顶部导航栏高度
1 | import 'package:flutter/material.dart'; |
定义顶部导航栏阴影
elevation:定义顶部导航栏阴影大小
1 | import 'package:flutter/material.dart'; |