我们需要将onTap侦听器添加到appBar。不是actions
或leading
按钮。我们所有的appBar都需要它。
我尝试使用InkWell
,但它具有视觉效果,我们不需要它。
我尝试使用GestureDetector
,但只有在用户点击此GestureDetector
中的文本时,它才有效。
答案 0 :(得分:1)
有几种方法可以做到这一点。我认为创建自定义应用栏是一个好方法
示例:
return Scaffold(
appBar: CustomAppBar(
appBar: AppBar(title: Text("hello"),),
onTap: () {
print("test");
},
),
body: Container(),
);
要创建自定义应用栏,您需要实现PreferredsizeWidget
class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
final VoidCallback onTap;
final AppBar appBar;
const CustomAppBar({Key key, this.onTap,this.appBar}) : super(key: key);
@override
Widget build(BuildContext context) {
return GestureDetector(onTap: onTap,child: appBar);
}
// TODO: implement preferredSize
@override
Size get preferredSize => new Size.fromHeight(kToolbarHeight);
}