Orientação gerada a partir de informações públicas. Apenas para referência.
kf_drawer é um pacote Flutter que fornece um menu lateral personalizável (Drawer) para aplicativos em múltiplas plataformas. Oferece uma implementação limpa e leve para navegação com suporte a várias opções de personalização, como largura, animações e estilos de itens. Projetado para facilitar o uso, integra-se perfeitamente em aplicativos Flutter para Android, iOS, Web, macOS, Windows e Linux. O pacote é ideal para aplicativos que exigem uma experiência consistente e responsiva com o menu de navegação.
Aplicativos com requisitos complexos de barra lateral
Projetos focados em interface do usuário
Prototipagem rápida
Considerações
Temas embutidos limitados
Requer estilização manual para designs avançados
Sem suporte a modo escuro embutido
Depende da API do Drawer do Flutter
Pode ser necessário gerenciamento adicional de estado
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
KFDrawer
A dependency-free animated side drawer for Flutter. KFDrawer supports controller
and context-based control, gestures, pinned or centered menus, page history,
right-side drawers, and RTL layouts on every Flutter platform.
Install
dependencies:kf_drawer:^2.1.0
KFDrawer 2.1 supports Dart 3 and Flutter 3.10 or newer. The package is tested
against both its compatibility floor and the current Flutter stable release.
Quick start
Create a controller, give each page item a widget, and place KFDrawer in your
Scaffold body:
footerPinned keeps the footer outside the scrolling item list.
centerScrollableItems centers a shrink-wrapped item list between a fixed
header and footer.
scrollable: false retains the non-scrolling centered column layout.
Right-side and RTL drawers
KFDrawerDirection is logical, so start automatically follows the ambient
text direction:
// Left in LTR, right in RTL (default).KFDrawer(direction: KFDrawerDirection.start)
// Right in LTR, left in RTL.KFDrawer(direction: KFDrawerDirection.end)
Translation, edge dragging, content tap regions, shadow offset, icon padding,
and menu alignment all follow the resolved side.
Dynamic items
Controller changes rebuild the drawer automatically:
drawerController.items = <KFDrawerItem>[...newItems];
drawerController.addItem(newItem);
drawerController.removeItem(oldItem);
drawerController.clearItems();
// If you mutate drawerController.items directly:
drawerController.items.add(newItem);
drawerController.refreshItems();
drawerController.selectItem('settings');
Optional page history and Back handling
KFDrawer swaps page widgets; it does not push Navigator routes. Enable the
lightweight controller history only if this is the behavior your app needs:
Use replacePage to change the current page without adding a history entry and
clearHistory after a navigation reset.
Page item callbacks
When an item has both page and onPressed, KFDrawer now performs both actions:
it selects the page, optionally closes the drawer, and invokes the callback.