Quero exibir primeiro uma folha inferior modal com um tamanho fixo. Em seguida, o usuário pode arrastá-lo para cima até um determinado ponto e para baixo até o tamanho fixo ou fazê-lo desaparecer, como você verá no aplicativo Google Maps ou no aplicativo Spotify.
Existe um pacote flutter para isso.
showModalBottomSheet<void>(
context: _scaffoldKey.currentContext!,
builder: (BuildContext context) {
return MyBottomSheetComponent(radar: radar);
},
clipBehavior: Clip.hardEdge,
enableDrag: true,
isScrollControlled: true,
useSafeArea: true);
}
Sim, você pode conseguir isso por meio de alguma lógica personalizada. Vamos considerar o código abaixo:
Você pode usar o widget DraggableScrollableSheet para criar uma planilha inferior que pode ser arrastada para cima e para baixo pelo usuário. Existem parâmetros como inicialChildSize, minChildSize e maxChildSize que você pode definir.
O parâmetro expand aqui determina se a planilha deve expandir até seu tamanho máximo quando arrastada para cima. Se definido como verdadeiro, a planilha será expandida; se definido como falso, a planilha permanecerá no tamanho máximo até ser descartada.