Comment utiliser des fragments dans vos applications Android pour une interface utilisateur puissante et dynamique

Auteur: John Stephens
Date De Création: 28 Janvier 2021
Date De Mise À Jour: 19 Peut 2024
Anonim
07  Styles and Themes - User Interface| Material Design System | Android App Development in Kotlin
Vidéo: 07 Styles and Themes - User Interface| Material Design System | Android App Development in Kotlin

Contenu


Remarque: Cet article suppose que vous maîtrisiez les bases du développement Android et de Java. Vous devriez déjà pouvoir créer des mises en page de base et utiliser des vues, sur clic et findViewByID. Si vous comprenez ces concepts, vous êtes prêt à apprendre à utiliser des fragments!

Les fragments sont une fonctionnalité puissante de la bonne interface utilisateur Android qui vous permet d’aborder la conception des applications de manière modulaire. Il s'agit de vues distinctes pouvant contenir des dispositions entières et accompagnées de leur propre code Java. En décomposant ainsi votre interface utilisateur, vous pouvez créer des dispositions plus logiques, plus faciles à comprendre pour vos utilisateurs. Vous pouvez leur fournir des informations et des contrôles supplémentaires sans qu'ils aient à quitter l'activité.


Voir aussi: Fragments sans tracas: Utilisation du composant d’architecture de navigation d’Android

Les fragments vous accordent beaucoup plus d'options dans la conception de votre application et peuvent considérablement améliorer l'expérience utilisateur.

De plus, les fragments agissent comme des classes et des objets dans la mesure où vous pouvez avoir plusieurs instances du même fragment. Cela signifie que vous pouvez réutiliser la même présentation à plusieurs reprises sans avoir à réécrire le code, ni même afficher deux versions différentes côte à côte.

En bref, alors que c'est encore un autre Une chose à apprendre en ce qui concerne la liste de tâches apparemment interminable impliquée dans les applications Android, c'est quelque chose qui peut vous accorder beaucoup plus d'options dans la conception de votre application et améliorer considérablement l'expérience de l'utilisateur - en faisant plus que le temps passé à se familiariser .


Comment construire votre premier fragment Android

Alors, que pourrions-nous faire avec des fragments qui n’auraient aucun sens autrement?

Peut-être avons-nous une liste de fichiers - c'est peut-être une galerie d'images - et nous voulons montrer une description et donner à l'utilisateur la possibilité de supprimer ou de partager. Ce genre de chose. Nous pourrions les envoyer à chaque fois à une nouvelle page de "Description" en utilisant une activité distincte, mais si vous utilisez des fragments, nous pouvons les conserver sur la page qui sera moins choquante.

Ouvrez Android Studio et créez une liste d'images aléatoires dans activity_main.xml. J'utilise des images de Dragon Ball Super car je suis un nerd et c’est ce que j’ai perdu sur mon PC…

Nous allons maintenant créer notre premier fragment.

Pour ce faire, vous allez vous diriger vers Fichier> Nouveau> Fragment. MainActivity.java doit être sélectionné à gauche pour pouvoir le faire, et vous allez choisir un fragment «vierge» pour le moment. Vous pourrez alors choisir un nom pour votre nouvelle création, que nous appellerons ‘Description’. Décochez les deux cases en dessous - nous n’en avons pas besoin pour le moment.

Une fois cela fait, vous constaterez que vous avez maintenant non seulement un nouveau fichier java appelé Description.java, mais également un nouveau fichier de présentation appelé fragment_description.xml, comme si vous aviez créé une nouvelle classe! Cela signifie que vous allez placer le code associé à votre nouveau fragment dans son propre fichier java séparé.

Ajouter des mises en page, des vues et du code

La bonne nouvelle est qu’il nous est très facile d’ajouter des vues et une mise en page lorsque nous utilisons des fragments. Nous allons faire cela comme nous le ferions normalement en éditant fragment_timer.xml.

Utilisons à nouveau une disposition linéaire et cette fois-ci, ajoutons des contrôles et du texte descriptif. Vous pouvez coller n'importe quoi ici pour l'instant.

Alors maintenant, la question suivante est la suivante: comment faire en sorte que cela apparaisse réellement dans votre application?

Vous pouvez le faire en ajoutant le fragment à l'activité, comme vous le feriez avec n'importe quelle autre vue. Alors, dirigez-vous sur activity_main.xml et ajoutez la vue de sorte qu’elle occupe une partie de l’écran - peut-être en bas.

Si vous voulez le faire comme je l'ai fait, j'ai utilisé une disposition linéaire verticale et j'ai attribué à toutes les images un poids de 1 et au fragment de 2.

Vous remarquerez que l'aperçu ne vous montre pas le fragment réel, mais simplement un espace réservé. De même, notez que je dois inclure le nom du fragment dans le fichier XML afin qu'Android sache où le trouver. Vous avez également besoin d'un identifiant pour chaque fragment.

Le code

Comme discuté, le code dont nous avons besoin pour utiliser des fragments va aller dans son propre fichier java. Dans ce cas, c’est le fichier Description.java.

Si vous consultez cette page, vous constaterez qu’il existe un constructeur (comme dans toute classe qui crée un objet) et une méthode appelée onCreateView. Cette méthode est où le xml est utilisé pour gonfler cette vue et c’est aussi l’équivalent de votre onCreate méthode dans une activité standard.

Pour la plupart, vous pouvez faire les choses comme vous le feriez normalement ici. findViewByID fonctionne et vous pouvez l’utiliser pour modifier du texte, etc., mais vous devrez obtenir la référence légèrement différemment. Changez la ligne qui se lit comme suit:

retour inflater.inflate (R.layout.fragment_description, conteneur, faux);

À:

Voir v = inflater.inflate (R.layout.fragment_description, conteneur, faux);

Et ensuite utiliser:

v.findViewByID.

Maintenant, vous pouvez accéder à vos vues comme vous le feriez normalement:

public View onCreateView (inflater LayoutInflater, conteneur ViewGroup, Bundle savedInstanceState) {View v = inflater.inflate (R.layout.fragment_description, conteneur, faux); Bouton okButton = v.findViewById (R.id.D'accord) ;; Bouton shareButton = v.findViewById (R.id.Partager) okButton.setOnClickListener (new View.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "OK!", Toast.LONGUEUR_LONG ).spectacle(); }}); shareButton.setOnClickListener (new View.OnClickListener () {public void onClick (Afficher v) {Toast.makeText(getActivity (), "Partage ...", Toast.LONGUEUR_LONG ).spectacle(); }}); retourner v; }}

Utiliser des fragments avec des instances multiples

Vous pouvez voir combien il est beaucoup plus facile de créer une interface utilisateur et un code simplifiés lorsque nous utilisons des fragments. Au lieu d'utiliser des dispositions au sein d'une disposition, puis de jongler avec de nombreux clics dans un seul fichier Java. De plus, cette approche «modulaire» vous permettrait d’utiliser cette vue pour toutes les activités et même pour les menus et autres emplacements dynamiques.

Mais la partie vraiment intéressante est le fait que vous pouvez avoir plusieurs instances de ce même fragment, toutes existantes au même moment.

Pour ce faire, rien de plus simple: il vous suffit d'ajouter plus d'une vue et de gonfler avec le même code.

Maintenant, espérons-le, vous pourrez commencer à voir le pouvoir d'utiliser des fragments: imaginez avoir une vue Recycler (une liste déroulante) d'images, chacune avec les détails et les commandes juste en dessous. Il n’est pas nécessaire de créer une nouvelle présentation à chaque fois et vous pouvez masquer les vues jusqu’à ce que l’utilisateur clique sur la photo!

De plus, vous pouvez également générer de nouveaux fragments par programmation. Tout ce dont vous avez besoin est d’un endroit pour que le fragment soit inséré dans votre mise en page, par exemple une mise en page fragmentTarget) et ensuite vous pouvez faire ce qui suit:

Fragment addedFragment = new Description (); FragmentTransaction transaction = getSupportFragmentManager (). BeginTransaction (); transaction.replace (R.id.fragmentTarget, ajouté Fragment); transaction.addToBackStack (null); transaction.commit ();

Assurez-vous d’importer les classes nécessaires. Vous serez invité à utiliser des fragments dans votre code. Assurez-vous simplement de choisir la première option qui dit «v4».

Il est important de pouvoir ajouter des fragments par programmation, car cela signifie que nous pouvons générer une liste dynamique d’images (que nous avons téléchargées, qui se trouvent dans un dossier spécifique, etc.), puis que les détails s’affiche immédiatement.

Ainsi, dans ce nouvel exemple, le deuxième fragment a été ajouté par programme.

Enfin, vous voudrez peut-être changer l'apparence de vos fragments en fonction de leur emplacement. La bonne nouvelle est que vous pouvez le faire facilement en transmettant un ID sous forme d'ensemble lorsque vous créez le fragment, puis en extrayant cette valeur à l'autre bout.

Dans MainActivity.java, utilisez:

Bundle bundle = new Bundle (); bundle.putInt ("ID", 1); addedFragment.setArguments (bundle);

Et puis dans le fichier Description.java, ajoutez:

int eyeD = 0; Bundle bundle = this.getArguments (); if (bundle! = null) {eyeD = bundle.getInt ("ID", 0); } switch (eyeD) {cas 1:…

Vous pouvez ensuite, par exemple, demander à votre application d'afficher des notes différentes pour chaque image.

Commentaires de clôture

C’est ainsi que vous utilisez des fragments. J'espère que vous maîtriserez les bases et que cet article vous a suffisamment expliqué que vous pouvez aller de l'avant et trouver le reste. Plus important encore, j'espère que cela vous a montré certaines des utilisations possibles des fragments et le potentiel qu'ils offrent pour une conception plus intelligente des applications.

Si vous souhaitez voir un autre exemple de fragments en action, assurez-vous de consulter mon article récent sur la création d'un lanceur personnalisé!

Développement Android:

  • Comment créer une application de réalité virtuelle pour Android en seulement 7 minutes
  • Construisez votre propre action pour Google Assistant
  • Racine Android: Tout ce que vous devez savoir!
  • Anatomie d'une application: introduction aux cycles de vie des activités
  • Android Jetpack: Que signifient les annonces récentes pour la bibliothèque de support d’Android?

Vou avez décidé d'apprendre une nouvelle langue. C'et génial! Le eul problème et de avoir par où commencer. Peu de méthode peuvent remplacer l'apprentiage da...

La petite enfance et un moment important dan la vie d’une peronne. Il apprennent toute orte de choe. Certain parent choiient de laier leur enfant utilier leur martphone ou leur tablette pour de activ...

Articles Intéressants