Este tutorial apresenta a biblioteca Fragmentation, uma ferramenta para gerenciar Fragments no Android de forma mais eficiente. Embora esteja marcada como obsoleta, seu código ainda pode servir como referência para projetos legados.
Adicionando a Dependência
No arquivo build.gradle do módulo app, inclua:
dependencies {
implementation 'me.yokeyword:fragmentation:1.3.7'
// Para suporte a deslizar para voltar (SwipeBack):
implementation 'me.yokeyword:fragmentation-swipeback:1.3.7'
}
Configuração Inicial
Crie uma classe Application e inicialize a biblioteca:
public class MinhaApp extends Application {
@Override
public void onCreate() {
super.onCreate();
Fragmentation.builder()
.stackViewMode(Fragmentation.BUBBLE) // Modo de visualização da pilha
.debug(BuildConfig.DEBUG)
.install();
}
}
Utilização na Activity
No método onCreate da Activity, carregue o Fragment raiz:
public class AtividadePrincipal extends FragmentActivity {
@Override
protected void onCreate(Bundle estado) {
super.onCreate(estado);
setContentView(R.layout.activity_principal);
if (estado == null) {
carregarFragmentoRaiz(R.id.fl_container, FragmentoInicial.novaInstancia());
}
}
}
Criação de um Fragment
Estenda BaseFragment e implemente o layout:
public class FragmentoInicial extends BaseFragment {
public static FragmentoInicial novaInstancia() {
return new FragmentoInicial();
}
@Override
public View onCreateView(LayoutInflater inflador, ViewGroup container, Bundle estado) {
View view = inflador.inflate(R.layout.fragmento_inicial, container, false);
// Configurar componentes da tela
return view;
}
}
Casos de Uso e Boas Práticas
- Navegação complexa: Gerencie múltiplos módulos (ex.: home, categorias, carrinho) com pilhas de Fragments bem organizadas.
- Carregamento sob demanda: Implemente o padrão de carregamanto tardio (lazy loading) para melhorra o desempenho.
- Tratamento de exceções: Centralize o tratamento de erros nos Fragments para aumentar a estabilidade.
Ecossistema Típico
A biblioteca pode ser integrada com outras ferramentas populares:
- EventBus: Comunicação entre Fragments.
- Retrofit: Requisições de rede.
- Glide: Carregamento de imagens.
Essa combinação permite construir aplicativos Android robustos e modulares.