我可以在颤抖中更改应用栏的形状
return Scaffold(
appBar: AppBar(
elevation: 0.0,
shape: ContinuousRectangleBorder(
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(80.0),
),
),
title: Text('AppBar'),
),
);
我不希望每次创建Scaffold
时都将AppBar传递给它,我想在全球范围内使用(可能是我们可以做到的主题)
答案 0 :(得分:1)
您可以创建一个单独的小部件,为您返回自定义应用栏,如下所示。
class CustomAppBar extends PreferredSize {
@override
Size get preferredSize {
return new Size.fromHeight(56.0);
}
@override
Widget build(BuildContext context) {
return AppBar(
elevation: 0.0,
shape: ContinuousRectangleBorder(
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(80.0),
),
),
title: Text('AppBar'),
);
}
}
现在您可以将此小部件分配给应用栏。
答案 1 :(得分:0)
您只需要使用在其上创建GlobalUtil
的{{1}}类,并在如下所述的所有类中使用
GlobalUtil.dart
AppBar
在任何类中,您都可以按以下方式使用它
import 'package:flutter/material.dart';
import 'colors.dart';
class GlobalUtil {
static Widget showAppBar(BuildContext context, String msg, String path) {
return AppBar(
centerTitle: true,
title: Text(
msg,
style: TextStyle(
color: ColorConst.TEXT_DARK_GREY_COLOR, /// USE THE COLOR AS PER YOUR REQUIREMENT
fontFamily: 'Medium', /// USE THE FONT FAMILY AS PER YOUR REQUIREMENT
fontSize: Dimens.TEXT_EXTRA_EXTRA_LARGE),////// USE THE DIMENSION OF TEXT AS PER YOUR REQUIREMENT
),
actions: [
new IconButton(
icon: new Image.asset("YOUR_ICON_PATH",height: 20.0,width: 20.0,),
onPressed: () => {
},
)
],
leading: Padding(
padding: EdgeInsets.all(8),
child: new IconButton(
// icon: new Icon(iconData, color: Colors.black),
icon: new Image.asset(path),
onPressed: () => Navigator.of(context).pop(),
)),
backgroundColor: Colors.PINK,
elevation: 0.0,
);
}
}