Les Fragments

1 546 vues

Publié le

Présentation élaborée par M. Ala Eddine Zoghlami dans le cadre des sessions de Lightning Talks à l'Orange Developer Center.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Les Fragments

  1. 1. 1 Les fragments Présenté par : Zoghlami Ala eddine
  2. 2. 2 Plan  Introduction  Utilité  Cycle de vie  Compatibilité  Gestion de fragments  Composants à base de fragments  Conclusion
  3. 3. 3 Introduction C'est quoi un fragment ? Fragment Vue Activité
  4. 4. 4 Utilité Application basée sur les fragments Smartphone Tablette TV
  5. 5. 5 Utilité
  6. 6. 6 Cycle de Vie
  7. 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. 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. 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. 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. 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. 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. 13 Composants à base de Fragments ViewPager + tabs Active la mode Navigation Tabs Ajout des Tabs
  14. 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. 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
  16. 16. 16 Netographie  http://developer.android.com/guide/components/fragments  http://fr.openclassrooms.com/informatique/cours/aller-plus-loin- dans-le-developpement-android/fragment  https://github.com/JakeWharton/Android-ViewPagerIndicator
  17. 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
  18. 18. 18 Merci pour votre Attention !

×