Sou relativamente novo no Flutter e estou tentando adicionar a nova barra de pesquisa do Material 3 ao meu aplicativo junto com uma navegação de gaveta, mas não está funcionando como esperado.
É assim que está aparecendo:
O ícone de navegação deveria estar dentro da barra de pesquisa.
Abaixo está meu código:
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
clipBehavior: Clip.none,
title: SearchBar(),
),
drawer: Drawer(
child: ListView(
// Important: Remove any padding from the ListView.
padding: EdgeInsets.zero,
children: [
const DrawerHeader(
decoration: BoxDecoration(
color: Colors.blue,
),
child: Text('Drawer Header'),
),
ListTile(
title: const Text('Item 1'),
onTap: () {
// Update the state of the app.
// ...
},
),
ListTile(
title: const Text('Item 2'),
onTap: () {
// Update the state of the app.
// ...
},
),
],
),
),
body: CustomScrollView(
scrollDirection: Axis.vertical,
slivers: [
// MesAppBar(),
HomeScreen(),
],
),
);
}
}
Primeiro, você precisa remover o ícone de hambúrguer do AppBar. Você pode fazer isso configurando automaticallyImplyLeading como false, depois disso, você pode colocar o IconButton desejado dentro do widget SearchBar configurando a propriedade leading. Para gerenciar a funcionalidade de abrir/fechar a gaveta, você pode atribuir uma GlobalKey ao Scaffold e fazer algo como:
_scaffoldKey.currentState?.openDrawer() or closeDrawer().
Aqui está o código de trabalho: