AppBer 自定义顶部按钮图标、颜色
| 属性 | 作用 | 类型 | 
|---|---|---|
| leading | 标题前面显示的一个控件,首页一般放logo,其他页面一般放返回按钮 | |
| title | 标题 | |
| actions | 通常使用IconButton表示,可以放按钮组 | |
| bottom | 通常放tabBar,标题下面的一个导航栏,类似于头条的tab | |
| backgroundColor | 导航背景颜色 | |
| iconTheme | 图标样式 | |
| centerTitle | 标题是否居中 | 
Scaffold(
    appBar:AppBar(
        backgroundColor:Colors.red,
        title:Text("标题"),
        leading:IconButton( // 左侧
            onPressed(){},
            icon:Icon(Icons.flutter)
        ),
        actions:[ // 右侧
            IconButton(
                icon:const Icon(Icons.add),
                onPressed:(){}
            ),
            IconButton(
                icon:const Icon(Icons.search),
                onPressed:(){}
            ),
        ]
    )
)TabBer 组件 顶部的导航栏
| 属性 | 作用 | 类型 | 
|---|---|---|
| tabs | 显示标签内容,通常情况下是 Tab 也可以是 Widget | |
| controller | tabController对象 | |
| isScrollable | 是否可滚动 | bool | 
| indicatorColor | 指示器颜色 | Color | 
| indicatorWeight | 指示器高度 | Color | 
| indicatorPadding | 底部指示器的Padding | |
| indicator | 指示器 Decoration | |
| indicatorSize | 指示器大小,TabbarIndicatorSize.label 文字等宽; .tab tab等宽 | |
| labelColor | 选中的 label 颜色 | Color | 
| labelStyle | 选中的 label 的样式 | |
| labelPadding | 每个 label 的内边距 | |
| unselectedLabelColor | 未选中 label 的颜色 | Color | 
| unselectedLabelStyle | 未选中的 label 的 style | 
使用需要混入相关类
class xxx extends state<xxx> with SingleTickerProviderStateMixin{
    // 定义 tabController
    late TabController _xxx;
    void initState(){
        super.initState();
        _xxx = TabController(length:8,vsync:this);
        _xxx.addListener(){
            if (_xxx.animation!.value == _xxx.index) {
                print(_xxx.index); //获取点击或滑动页面的索引值
            }
        }
    }
    // 配置 Tabbar 和 TabBerView
    Widget build(BuildContext context){
        return Scaffold(
            appBar:AppBar(
                title:const Text("Flutter App"),
                bottom:tabBar(
                    controller:_xxx,
                    tabs:const [
                        Tab(child:Text("热门")),
                        Tab(child:Text("热门1")),
                        Tab(child:Text("热门2")),
                    ]
                ),
                body:TabBarView(
                    controller:_xxx,
                    children:[
                        Text("热门"),
                        Text("热门1"),
                        Text("热门2"),
                    ]
                )
            )
        )
    }
}
改变 appBar 的高度
使用 preferredSize 可以改变 appBar 的高度
Scaffold(
    appBar:PreferredSize(
        preferredSize:Size。fromHeight(50),
        child:AppBar()
    )
)