Fragmentos

Um Fragment representa uma parte reutilizável da IU do seu app. Um fragmento define e gerencia o próprio layout, tem o próprio ciclo de vida e pode processar os próprios eventos de entrada. Fragmentos não podem existir por conta própria. Eles precisam ser hospedados por uma atividade ou por outro fragmento. A hierarquia de visualização do fragmento se torna parte da hierarquia de visualização do host ou é anexada a ela .

Modularidade

Os fragmentos introduzem a modularidade e a reutilização na IU da sua atividade, permitindo que você divida a IU em blocos discretos. As atividades são um local ideal para colocar elementos globais em torno da interface do usuário do seu app, como uma gaveta de navegação. Por outro lado, os fragmentos são mais adequados para definir e gerenciar a IU de uma única tela ou parte de uma tela.

Imagine um app que responde a vários tamanhos de tela. Em telas maiores, o app precisa exibir uma gaveta de navegação estática e uma lista em um layout de grade. Em telas menores, o app precisa exibir uma barra de navegação inferior e uma lista em um layout linear. Gerenciar todas essas variações na atividade pode ser difícil. Separar os elementos de navegação do conteúdo pode tornar esse processo mais gerenciável. A atividade é responsável por exibir a IU de navegação correta enquanto o fragmento exibe a lista com o layout adequado.

Duas versões da mesma tela em diferentes tamanhos.
Figura 1. Duas versões da mesma tela em diferentes tamanhos. À esquerda, uma tela grande contém uma gaveta de navegação controlada pela atividade e uma lista de grade controlada pelo fragmento. À direita, uma tela pequena contém uma barra de navegação inferior controlada pela atividade e uma lista linear controlada pelo fragmento.

Dividir a IU em fragmentos facilita a modificação da aparência da atividade no ambiente de execução. Enquanto sua atividade está no estado de ciclo de vida STARTED ou em um estado mais avançado, os fragmentos podem ser adicionados, substituídos ou removidos. Você pode manter um registro dessas mudanças em uma pilha de retorno gerenciada pela atividade, permitindo que as mudanças sejam revertidas.

É possível usar várias instâncias da mesma classe de fragmento na mesma atividade, em várias atividades ou até mesmo como filha de outro fragmento. Você precisa apenas fornecer um fragmento com a lógica necessária para gerenciar a própria IU. É recomendável evitar a dependência ou manipulação de um fragmento por outro.

A seguir

Para ver mais documentações e recursos relacionados a fragmentos, consulte os links a seguir.

Primeiros passos

Outros tópicos

Vídeos