自定义AppBar
源码中可以看到,AppBar只是实现了 PreferredSizeWidget接口
1  | class AppBar extends StatefulWidget implements PreferredSizeWidget  | 
那么我们也可以从这进行入手,自定义一个实现了 PreferredSizeWidget的Widget
具体代码并不多,比你想象的简单,直接上代码:
1  | import 'package:flutter/material.dart';  | 
引用的地方:
1  | appBar: new CustomAppbar(  | 
leftBarButtonItemWidget() rightBarButtonItemsWidget()两个方法是我自定义的导航栏按钮,实现自己需要的即可。值得说的是,可以将leadingWidget设置为非@required的,在自定义的AppBar里面做好处理即可,另外在上面的代码中并没有限制导航栏上每个Widget所占用的最大空间,如果你的导航栏子组件可能很宽,提前进行妥善处理是个好主意。