J'ai une question concernant les bibliothèques de support Android, les fragments et, à titre d'exemple spécifique, la ViewPager
classe. Mon intention est de créer une application avec des fonctionnalités similaires à l'exemple fourni sur le site Web des développeurs Android ( http://developer.android.com/training/animation/screen-slide.html ou http://developer.android.com/ formation / implémentation-navigation / laterale.html ). En examinant leur code, j'ai remarqué qu'ils utilisent la android.support.v4.app
bibliothèque, qui d'après mes recherches est le seul moyen d'accéder à la ViewPager
classe.
Dans ma situation, je n'ai aucun intérêt pour la compatibilité ascendante. Le niveau minimum d'API est 14 (Ice Cream Sandwich) et la cible de build est 4.2 Jelly Bean. Dans sa forme la plus simple, mon application fonctionne exactement comme la deuxième démo que j'ai liée sur le site Web de développement Android - il suffit de glisser entre trois onglets avec du contenu dans chacun.
Tous les articles / messages / réponses que j'ai lus semblent fortement favoriser la bibliothèque de support v4 . Maintenant, pour ma (mes) question (s), quoique de longue haleine:
Quelle est la meilleure façon de structurer mon application - en utilisant
android.support.v4.app
, et donc en utilisant SupportFragments, ou pour utiliser les fragments fournis dansandroid.app
- et pourquoi?Si les fragments de
android.app
sont la voie à suivre, quelle est la meilleure façon d'aborderViewPagers
?Si SupportFragments est le mieux adapté à la tâche, j'estimerais qu'ils possèdent les mêmes fonctionnalités que les autres - alors quel est le but de les avoir à l'intérieur
android.app
?
J'espère que quelqu'un avec une compréhension plus claire pourra me donner un peu de clarification parce que je suis ahuri ...
Fragments
si vous utilisez leViewPager
vous devez utiliser la bibliothèque de supportSupportFragment
SupportFragment
n'est pas une classe dans le SDK Android ...SupportFragment
, je fais simplement référence à laFragment
classe disponible dansandroid.support.v4.app
.ViewPager
placeandroid.app
.Réponses:
Vous pouvez utiliser
ViewPager
avec des fragments natifs duandroid.app
package avec les adaptateurs du package android.support.v13.app . Vous devez utiliser le jar de support v13 pour cela.Il existe deux versions des adaptateurs qui fonctionnent avec
ViewPager
, celles duv4
package sont destinées à être utilisées avec des fragments de support, cellesv13
avec des fragments natifs.La raison pour laquelle il existe maintenant deux implémentations de fragments est historique: les fragments du
android.app
package ont été introduits avec Android 3 pour les tablettes uniquement et la bibliothèque de support a été créée pour apporter des fragments aux téléphones exécutant des versions plus anciennes. Sur Android 4, vous avez les deux.D'après ma propre expérience, je recommanderais d'utiliser des fragments de support, même lors du développement pour Android 4. Voici quelques raisons: Fragment ou Fragment de support?
la source
android.app
n'a pasFragmentPagerAdapter
alors il devient impossible d'utiliser viewpager avec android.app.Fragment? une idée ici? existe-t-il une option pour l'ancien pager de vue? Pour accrocher dynamiquement un fragment pour des onglets donnésandroid.support.v4.app
package fonctionne avec des fragments de support, l'autreandroid.support.v13.app
avec des fragments `` normaux ''android.app.Fragment
La classe est obsolète depuis Android P ( lien ), elle neandroid.support.v4.app.Fragment
doit donc être utilisée que partout.la source
Si vous allez cibler l'API 11+, vous n'aurez pas besoin de la bibliothèque de support [et votre apk réel sera au moins plus petit).
Si vous souhaitez prendre en charge quelque chose avant Android 3.x, vous aurez besoin de la bibliothèque de support.
Est-ce ce que vous demandez?
la source
ViewPager
fonctionnalités et une explication des raisons pour lesquelles cette solution est la meilleure.