自定义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所占用的最大空间,如果你的导航栏子组件可能很宽,提前进行妥善处理是个好主意。