Orientação gerada a partir de informações públicas. Apenas para referência.
Floating View é um plugin Flutter que habilita funcionalidades semelhantes ao picture-in-picture, permitindo que widgets flutuem sobre outros conteúdos — semelhante ao comportamento de janela colapsável do YouTube. Ele suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. Desenvolvedores podem criar janelas flutuantes arrastáveis, redimensionáveis e interativas para melhorar a experiência do usuário em aplicativos que exigem elementos de interface persistentes. O plugin se integra suavemente a projetos Flutter existentes por meio de uma instalação simples via linha de comando.
Casos de uso
Implementando widgets de bate-papo persistentes
Criando controles flutuantes para reprodução de mídia
Habilitando multitarefa com painéis de sobreposição pequenos
Integração simples com o sistema de widgets do Flutter
Aparência e comportamento personalizáveis
Suporta interações de toque e ponteiro
Indicado para
Desenvolvedores construindo aplicativos de mídia
Aplicativos que precisam de sobreposições de UI persistentes
aplicações de multitarefa ou focadas na produtividade
Designers de UI procurando padrões inovadores de interação
Projetos que exigem funcionalidade de vídeo sobre vídeo
Considerações
Pode exigir permissões específicas da plataforma em alguns sistemas operacionais
Impacto no desempenho com widgets aninhados complexos
Suporte limitado a animação nativa em algumas plataformas
Conflitos potenciais de interface com layouts em tela cheia
Requer manipulação cuidadosa dos eventos de ciclo de vida
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
FloatingView Package
The FloatingView package enables you to create a floating window similar to YouTube's floating video feature. This allows the window to float on the screen and be draggable while scrolling.
Note:FloatingView will disappear when changing routes. To display it across routes, wrap your desired route screen with the FloatingView and use the same controller. The controller can be passed down in the widget tree or stored in state management solutions such as BLoC, Provider, etc. The FloatingView will be passed down across the screen using the Hero widget, which is currently the only option available.
Initialize the controller and store the widget you want to display, such as a video, screen, or text. Here is an example of using FloatingView with a Video Player or a simple screen:
Note:controller.initialize() will run the previous onDispose() method to clear the previous controller data if you initialize another FloatingView while having an active one.
Using the APIs:
You can use the passed-down controller to control the FloatingView state like this: