Upload
odc-orange-developer-center
View
367
Download
4
Embed Size (px)
DESCRIPTION
Présentation élaborée par M. Ala Eddine Zoghlami dans le cadre des sessions de Lightning Talks à l'Orange Developer Center.
Citation preview
1
Les fragments
Présenté par :Zoghlami Ala eddine
2
Plan
Introduction
Utilité
Cycle de vie
Compatibilité
Gestion de fragments
Composants à base de fragments
Conclusion
3
Introduction
C'est quoi un fragment ?
Fragment Vue Activité
4
Utilité
Application basée sur les
fragments
Smartphone
Tablette
TV
5
Utilité
6
Cycle de Vie
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
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
Gestion des fragmentsfragmentManager
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
Gestion des fragmentsBackStack
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
Gestion des fragmentsTransaction
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
Composants à base de FragmentsViewPager
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
Composants à base de FragmentsViewPager + tabs
Active la mode Navigation Tabs
Ajout des Tabs
14
Composants à base de FragmentsViewPager + 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
Composants à base de FragmentsViewPager + 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
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
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
Merci pour votre Attention !