如何在Flutter中减少AppBar的标题space
How to reduce the title space of AppBar in Flutter
我已经覆盖了 AppBar 构造函数中的 titleSpacing
。但是标题没有区别space。
new AppBar(
backgroundColor: Colors.amber,
title: new Text("Flying Dutchman",
style: new TextStyle(
color: const Color(0xFF444444),
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
titleSpacing: 0.00,
centerTitle: true,
elevation: 0.0,
)
我想减少应用栏标题的顶部 space。
titleSpacing
与实际的应用栏高度和顶部填充无关。就是横轴上的间距。
AppBar
是遵循 material 规则的预样式化组件。
如果您不喜欢这些规则,请不要使用 AppBar
作为开头。去创建你自己的组件! :)
这是一个实现示例:
class MyAppbar extends StatelessWidget implements PreferredSizeWidget {
final String title;
const MyAppbar({this.title});
@override
Widget build(BuildContext context) {
return new Container(
color: Colors.amber,
height: preferredSize.height,
child: new Center(
child: new Text(title),
),
);
}
@override
Size get preferredSize => const Size.fromHeight(40.0);
}
只需将转换作为文本视图的根,并提供负数的 x 值。
new AppBar(
backgroundColor: Colors.amber,
title:new Transform(
transform: new Matrix4.translationValues(-20.0, 0.0, 0.0),
child: new Text("Flying Dutchman",
style: new TextStyle(
color: const Color(0xFF444444),
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
),
titleSpacing: 0.00,
centerTitle: true,
elevation: 0.0,
)
我已经覆盖了 AppBar 构造函数中的 titleSpacing
。但是标题没有区别space。
new AppBar(
backgroundColor: Colors.amber,
title: new Text("Flying Dutchman",
style: new TextStyle(
color: const Color(0xFF444444),
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
titleSpacing: 0.00,
centerTitle: true,
elevation: 0.0,
)
我想减少应用栏标题的顶部 space。
titleSpacing
与实际的应用栏高度和顶部填充无关。就是横轴上的间距。
AppBar
是遵循 material 规则的预样式化组件。
如果您不喜欢这些规则,请不要使用 AppBar
作为开头。去创建你自己的组件! :)
这是一个实现示例:
class MyAppbar extends StatelessWidget implements PreferredSizeWidget {
final String title;
const MyAppbar({this.title});
@override
Widget build(BuildContext context) {
return new Container(
color: Colors.amber,
height: preferredSize.height,
child: new Center(
child: new Text(title),
),
);
}
@override
Size get preferredSize => const Size.fromHeight(40.0);
}
只需将转换作为文本视图的根,并提供负数的 x 值。
new AppBar(
backgroundColor: Colors.amber,
title:new Transform(
transform: new Matrix4.translationValues(-20.0, 0.0, 0.0),
child: new Text("Flying Dutchman",
style: new TextStyle(
color: const Color(0xFF444444),
fontSize: 30.0,
fontWeight: FontWeight.w900,
),
),
),
titleSpacing: 0.00,
centerTitle: true,
elevation: 0.0,
)