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

arrow_back Aula 07 - Interfaces Gráficas III

Fragments

Exemplo com Fragments

Para vermos o funcionamento de Fragments dentro de uma Activity, vamos criar um novo projeto contendo uma Activity em branco. Em seguida, vamos modificar o layout dessa Activity para conter um FrameLayout e um botão. A ideia é que o FrameLayout seja o container dos nossos Fragments e que eles sejam trocados através de um clique no botão. A Figura 8 mostra o layout da nossa Activity principal e a Listagem 13 contém o código do arquivo content_main.xml.

Layout principal contendo o botão e os Fragments.
Listagem 13 – Listagem referente ao arquivo content_main.xml.

Em seguida, devemos criar mais dois arquivos contendo o layout dos Fragments. Para diferenciar bem os Fragments, vamos adicionar uma cor de fundo em um deles e deixar o padrão branco no outro. As Listagens 14 e 15 trazem os códigos dos arquivos fragment1.xml e fragment2.xml, respectivamente.

Listagem 14 – Código do arquivo fragment1.xml
Listagem 15 – Código do arquivo fragment2.xml

Com os layouts todos criados, podemos criar agora as nossas classes. Primeiramente, vamos criar a TelaFragment e a TelaFragment2, responsáveis por carregar os layouts definidos acima. O código de ambas é muito similar, alterando-se apenas o layout que devem inflar e o nome da classe. O código da TelaFragment pode ser visto na Listagem 16. O do TelaFragment2 fica sob sua responsabilidade! É importante notar apenas que ambas as classes devem estender de Fragment, uma vez que representam elementos desse tipo. O método a ser implementado para inflar o layout respectivo é o onCreateView, que é chamado ao se instanciar o Fragment, como visto anteriormente.

Listagem 16 – Código referente ao arquivo TelaFragment.java

Por fim, precisamos apenas criar a nossa Activity principal, implementando o clique do botão para fazer a troca entre Fragments. Essa troca deve ser feita utilizando o FragmentManager, que pode ser obtido através do método getFragmentManager(). A Activity deve estender a classe FragmentActivity. O código da Activity principal está descrito na Listagem 17.

Listagem 17 – Código da classe MainActivity.java.

A utilização de Fragments pode trazer diversos benefícios à sua aplicação. O conceito pode não ser tão trivial, mas é bem importante! Para facilitar o acompanhamento, caso tenha tido algum problema, baixe aqui o projeto completo e faça os seus testes!

Bons estudos e até a próxima!

Versão 5.3 - Todos os Direitos reservados