The round bottom corners are created using shape property with RoundedRectangleBorder as value.
class RoundAppBar extends StatelessWidget with PreferredSizeWidget{ final double barHeight = 50; final String title; RoundAppBar({Key key, this.title}) : super(key: key); @override Size get preferredSize => Size.fromHeight(kToolbarHeight + barHeight); @override Widget build(BuildContext context) { return AppBar( title: Center(child: Text(title)), shape: RoundedRectangleBorder( borderRadius: BorderRadius.vertical( bottom: Radius.circular(48.0), ), ), actions: [ Icon(Icons.dehaze) ], ); } }