Android - Fragmentos

UMA Fragment é uma parte de uma atividade que permite um design de atividade mais modular. Não estará errado se dissermos que um fragmento é uma espécie de sub-activity.

A seguir estão pontos importantes sobre o fragmento -

  • Um fragmento tem seu próprio layout e seu próprio comportamento com seus próprios callbacks de ciclo de vida.

  • Você pode adicionar ou remover fragmentos em uma atividade enquanto a atividade está em execução.

  • Você pode combinar vários fragmentos em uma única atividade para construir uma IU com vários painéis.

  • Um fragmento pode ser usado em várias atividades.

  • O ciclo de vida do fragmento está intimamente relacionado ao ciclo de vida de sua atividade hospedeira, o que significa que quando a atividade é pausada, todos os fragmentos disponíveis na atividade também serão interrompidos.

  • Um fragmento pode implementar um comportamento que não possui nenhum componente de interface do usuário.

  • Fragmentos foram adicionados à API do Android na versão Honeycomb do Android, com a versão 11 da API.

Você cria fragmentos estendendo Fragment classe e Você pode inserir um fragmento em seu layout de atividade, declarando o fragmento no arquivo de layout da atividade, como um <fragment> elemento.

Antes da introdução do fragmento, tínhamos uma limitação porque podemos mostrar apenas uma única atividade na tela em um determinado ponto no tempo. Portanto, não fomos capazes de dividir a tela do dispositivo e controlar partes diferentes separadamente. Mas, com a introdução do fragmento, obtivemos mais flexibilidade e removemos a limitação de ter uma única atividade na tela por vez. Agora podemos ter uma única atividade, mas cada atividade pode ser composta por vários fragmentos que terão seu próprio layout, eventos e ciclo de vida completo.

A seguir está um exemplo típico de como dois módulos de IU definidos por fragmentos podem ser combinados em uma atividade para um design de tablet, mas separados para um design de fone.

O aplicativo pode incorporar dois fragmentos na Atividade A, quando executado em um dispositivo do tamanho de um tablet. No entanto, em uma tela do tamanho de um aparelho portátil, não há espaço suficiente para ambos os fragmentos, então a Atividade A inclui apenas o fragmento da lista de artigos e, quando o usuário seleciona um artigo, ele inicia a Atividade B, que inclui o segundo fragmento para ler o artigo.

Ciclo de Vida do Fragmento

Os fragmentos do Android têm seu próprio ciclo de vida muito semelhante a uma atividade do Android. Esta seção resume os diferentes estágios de seu ciclo de vida.

Ciclo de vida do fragmento

Aqui está a lista de métodos que você pode substituir em sua classe de fragmento -

  • onAttach()A instância do fragmento está associada a uma instância da atividade. O fragmento e a atividade não foram totalmente inicializados. Normalmente, você obtém neste método uma referência à atividade que usa o fragmento para trabalho de inicialização posterior.

  • onCreate()O sistema chama esse método ao criar o fragmento. Você deve inicializar os componentes essenciais do fragmento que deseja reter quando o fragmento for pausado ou interrompido e, em seguida, retomado.

  • onCreateView()O sistema chama esse retorno de chamada quando chega a hora do fragmento desenhar sua interface de usuário pela primeira vez. Para desenhar uma IU para o seu fragmento, você deve retornar umViewcomponente desse método que é a raiz do layout do seu fragmento. Você pode retornar nulo se o fragmento não fornecer uma IU.

  • onActivityCreated()O onActivityCreated () é chamado após o método onCreateView () quando a atividade do host é criada. Atividade e instância de fragmento foram criadas, bem como a hierarquia de visualização da atividade. Neste ponto, a visualização pode ser acessada com o método findViewById (). exemplo. Neste método você pode instanciar objetos que requerem um objeto Context

  • onStart()O método onStart () é chamado assim que o fragmento fica visível.

  • onResume()O fragmento torna-se ativo.

  • onPause()O sistema chama esse método como a primeira indicação de que o usuário está deixando o fragmento. Normalmente é aqui que você deve confirmar todas as alterações que devem ser mantidas além da sessão do usuário atual.

  • onStop()O fragmento será interrompido chamando onStop ()

  • onDestroyView()A visualização do fragmento destruirá após a chamada deste método

  • onDestroy()onDestroy () chamado para fazer a limpeza final do estado do fragmento, mas não é garantido que seja chamado pela plataforma Android.

Como usar fragmentos?

Isso envolve uma série de etapas simples para criar fragmentos.

  • Em primeiro lugar, decida quantos fragmentos deseja usar em uma atividade. Por exemplo, vamos querer usar dois fragmentos para lidar com os modos paisagem e retrato do dispositivo.

  • Em seguida, com base no número de fragmentos, crie classes que estenderão a classe Fragment . A classe Fragment tem funções de retorno de chamada mencionadas acima. Você pode substituir qualquer uma das funções com base em seus requisitos.

  • Correspondendo a cada fragmento, você precisará criar arquivos de layout em arquivo XML. Esses arquivos terão layout para os fragmentos definidos.

  • Por fim, modifique o arquivo de atividades para definir a lógica real de substituição de fragmentos com base em seus requisitos.

Tipos de Fragmentos

Basicamente, os fragmentos são divididos em três estágios, conforme mostrado abaixo.