如何在 Flutter 中创建带有底部彩色边框的 AppBar?

How to create an AppBar with a bottom coloured border in Flutter?

我想创建一个像这样的应用栏,它有一个底部边框以及可以使用提升来完成的阴影色调。有人可以提供一个示例代码片段来实现这个

可能是这样的

AppBar(
   bottom: PreferredSize(
      child: Container(
         color: Colors.orange,
         height: 4.0,
      ),
      preferredSize: Size.fromHeight(4.0)),
   )

理想情况下,如果您想要真正可定制的设计,您应该制作自己的应用栏。示例:

class MyAppbar extends StatelessWidget implements PreferredSizeWidget {
  final Widget title;

  const MyAppbar({Key key, this.title}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Material(
      elevation: 26.0,
      color: Colors.white,
      child: Container(
        padding: const EdgeInsets.all(10.0),
        alignment: Alignment.centerLeft,
        decoration: BoxDecoration(
          border: Border(
            bottom: BorderSide(
              color: Colors.deepOrange,
              width: 3.0,
              style: BorderStyle.solid,
            ),
          ),
        ),
        child: title,
      ),
    );
  }

  final Size preferredSize = const Size.fromHeight(kToolbarHeight);
}

如果你只是想在 AppBar 的底部使用一个小部件,我是这样做的:

appBar: AppBar(
        title: Text('Soroush!'),
        bottom: PreferredSize(
            child: Container(
              color: Colors.white,
              child: TextFormField(),
            ),
            preferredSize: Size.fromHeight(kToolbarHeight)),

现在 AppBar 中提供了 shadowColor 属性,您可以像这样轻松使用它:

AppBar( shadowColor : Colors.blue )

AppBar(elevation: 1, backgroundColor:Colors.orange,)

你可以使用AppBar的shape 属性来实现:

AppBar(
  shape: Border(
    bottom: BorderSide(
      color: Colors.orange,
      width: 4
    )
  ),
  elevation: 4,
  /* ... */
)