如何在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,
)