7. 7
Cycle de vie
Le cycle de vie d'un fragment est étroitement lié à l'activité à
laquelle il est rattaché
Par exemple si une activité reçoit enPause() chaque fragment
associés reçoit aussi enPause
Il existe d'autres méthodes « callback » pour le fragment telles
que :
OnAttach() : Appelée quand le fragment est attaché à une activité
OncreateView : Appelée pour créer une vue associé au fragment
OnActivityCreated() : Appelée quand la méthode onCreate()
est retourné
OnDetach() : Appelée quand le fragment est détaché
8. 8
Compatibilité
Les Fragments sont introduits depuis la version 3.0 ( API 11)
les version inférieures tel que 2.3 ne sont pas supportées
La solution est d'utiliser la bibliothèque de compatibilité
« Appcompat »
Notre classe fragment étendra donc
android.support.v4.app.Fragment
9. 9
Gestion des fragments
fragmentManager
Pour gérer les fragments , on a eu recourt au gestionnaire de
fragment « FragmentManager »
Pour récupérer le fragment manager on appele la methode
getFragmentManager()
Si on a un deuxième niveau de fragment ( Fragment dans un
autre) on utilise getChildFragmentManager()
Si on est entrain d'utiliser la bibliothèque appcompat on utilise
getSupportFragmentManager
10. 10
Gestion des fragments
BackStack
La pile de retour « BackStack » est un composant qui permet de
simuler la fonction de retour connue dans les Activités pour les
fragment
Pour ajouter un fragment à la « BackStack » il suffit d'ajouter
.addToBackstack() lors de la Transaction
11. 11
Gestion des fragments
Transaction
Une transaction est le faite d'ajouter, remplacer ou supprimer un
fragment existant
On peut spécifier des animation lors de la Transaction avec
setCustomAnimations(int enter, int exit)
Remplacer le fragment
courant par
newFragment dans
fragment_container
Le fragment est ajouté
à la backStack
12. 12
Composants à base de Fragments
ViewPager
Un viewPager est un widget qui présente des vue ou on peut
naviguer avec le « swipe »
Un viewPager utilise un « Adapter » qu'on doit implémenté à part
et qui fait appel à nos fragments
On peut associer des « Tabs » à notre viewPager ceci
augmentera l’expérience utilisateur , car deux possibilités de
navigation sont offertes
13. 13
Composants à base de Fragments
ViewPager + tabs
Active la mode
Navigation Tabs
Ajout des Tabs
14. 14
Composants à base de Fragments
ViewPager + tabs
Pour assurer le bon fonctionnement de ce widget on doit faire de
sorte que le ViewPager contrôle les tabs et vice versa
Dans notre Adapter :
15. 15
Composants à base de Fragments
ViewPager + Indicator
Pour améliorer votre viewPager , utilisez un indicateur
Il existe une Bibliothèque « viewPagerIndicator » développé par
« Jake Wharton » qui vous permet d'ajouter un indicateur
facilement il suffit de :
Ajouter la bibliothèque à votre projet
Déclarer le composant dans votre fichier xml
Associer l'indicateur au viewPager
17. 17
Conclusion
L'utilisation des fragments est fortement recommandé de nos
jours, à fin d'éviter les problèmes des différents tailles d'affichage
et d'augmenter l’expérience utilisateur