Cursos / Informática para Internet / Dispositivos Móveis / Aula

arrow_back Aula 07 - Interfaces Gráficas III

Fragments

Os Fragments representam uma parte da interface com o usuário numa Activity. Podemos combinar vários Fragments numa única Activity para criar uma interface com múltiplos painéis ou reutilizar um Fragment noutras Activities. Você pode pensar num Fragment como uma seção de uma Activity, que tem seu próprio ciclo de vida, recebe e trata seus próprios eventos de entrada e interação, e que podemos adicioná-lo ou removê-lo enquanto a Activity está sendo executada, como se fosse uma Sub-Activity.

Fragments são bastante utilizados para a criação de interfaces mais robustas, que possam ser divididas em vários grupos pela tela. A utilização destes é muito comum em tablets, onde temos menus ao lado esquerdo e painéis de detalhamento ao lado direito. Por exemplo, se selecionamos um menu diferente no painel esquerdo, o painel direito deve mostrar outro layout; para que não tenhamos que ficar sempre trocando as Activities, podemos usar um Fragment que será o painel esquerdo, e outros Fragments para o painel direito, sendo alterados de acordo com a seleção do painel esquerdo. A Figura 6 ilustra o uso de Fragments.

Uma Activity que contém dois Fragments, um na esquerda, outro na direita.

Um Fragment sempre deve ser incorporado numa Activity e seu ciclo de vida é diretamente afetado pelo ciclo de vida da Activity host. Por exemplo, quando a Activity é interrompida ou destruída, todos os Fragments inseridos também o são. No entanto, enquanto uma Activity está sendo executada, podemos manipular cada Fragment de forma independente. Eles funcionam de forma semelhante às Activities, sendo que também possuem uma pilha de execução, permitindo que possamos avançar, abrindo um novo Fragment, ou voltar para o Fragment exibido anteriormente.

Quando adicionamos um Fragment como parte de um layout, ele funciona como um ViewGroup dentro da Activity, definindo também seu próprio layout de exibição. Podemos inserir um Fragment num layout declarando-o com um elemento < fragment > ou também através do código Java. No entanto, um Fragment não precisa necessariamente fazer parte do layout da Activity. Podemos usá-lo sem uma interface própria, sendo um componente invisível, mas que trabalha dentro da Activity.

Versão 5.3 - Todos os Direitos reservados