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.

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.
Próximas etapas
Para ver mais documentações e recursos relacionados a fragmentos, consulte os links a seguir.
Primeiros passos
Outros tópicos
- Gerenciador de fragmentos
- Transações de fragmentos
- Animar transições entre fragmentos
- Ciclo de vida do fragmento
- Como salvar o estado com fragmentos
- Comunicação entre fragmentos e atividades
- Como usar a barra de apps
- Como exibir caixas de diálogo com o DialogFragment
- Depurar seus fragmentos
- Testar seus fragmentos