Accueil Médias sociaux Comment utiliser les fragments pour programmer votre application Android - les nuls

Comment utiliser les fragments pour programmer votre application Android - les nuls

Vidéo: TUTO Android : Votre première application Android (mise en oeuvre avec Android Studio) 2025

Vidéo: TUTO Android : Votre première application Android (mise en oeuvre avec Android Studio) 2025
Anonim

L'interface utilisateur de l'exemple d'application Android utilise trois panneaux: une liste d'éléments, un panneau décrivant l'élément sélectionné dans la liste et un panneau détaillé dans plus de détails. Sur un petit écran de smartphone, chaque panneau peut être une activité distincte. Mais un écran de tablette en mode paysage a de la place pour plus d'un panneau.

L'image ci-dessous montre cette application avec deux des trois panneaux. Le panneau de gauche affiche une liste des composants du SDK Android. Le panneau de droite affiche une description du composant choisi dans la liste de gauche. (La description est en fait les premières phrases de la documentation SDK du composant.) Ce modèle de détails à droite fait partie de nombreuses interfaces utilisateur.

Deux fragments attachés à une activité.

Pour créer l'affichage, vous créez une activité. L'activité a deux fragments - un fragment à gauche et un autre à droite. Le panneau de gauche affiche le même fragment tout au long de l'exécution de l'application, vous pouvez donc déclarer ce fragment dans le fichier de disposition de l'activité. Le panneau de droite affiche un fragment à la fois, mais le fragment change au cours de l'exécution de l'application. Ainsi, vous déclarez une disposition d'image dans le panneau de droite.


Dans le code ci-dessus, l'android: layout_ quels que soient les attributs divisent l'écran en deux moitiés - une moitié pour l'élément fragment et l'autre moitié pour l'élément FrameLayout. La stratégie avec ces attributs est de commencer par assigner un minimum de zéro pixel pour chaque élément. Bien sûr, zéro pixel signifie pas de largeur du tout (ce qui revient à être invisible). Pour éviter que les deux moitiés de la mise en page ne soient invisibles, attribuez des valeurs égales à des valeurs de layout_weight égales à zéro aux deux moitiés. Avec des valeurs de poids non nulles, chaque moitié se développe pour remplir l'espace disponible dans la mise en page.

L'utilisation du nom complet de la classe du fragment (com.allmycode.phys. ComponentNamesFragment) est intentionnelle. Un nom abrégé (tel que ComponentNamesFragment) ne coupe pas la moutarde.

Dans le cas où vous vous poseriez la question, l'élément détaillé d'Android BuiltElementBackground fournit un aspect uniforme pour des choses comme la moitié droite (les choses qui affichent des détails sur un élément que l'utilisateur a sélectionné).

Le code d'activité principal de l'application est incroyablement inintéressant.

package com. allmycode. frag; importer Android. app. Activité; importer Android. os. Paquet; La classe publique AllPurposeActivity étend l'activité {@Overide protected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R.disposition. main);}}

Le code ci-dessous contient la classe ComponentNamesFragment. En vertu de la mise en page dans le premier exemple, Android plante un ComponentNamesFragment sur le côté gauche de l'écran de l'appareil.

package com. allmycode. frag; importer Android. app. FragmentManager; importer Android. app. FragmentTransaction; importer Android. app. ListFragment; importer Android. os. Paquet; importer Android. vue. Vue; importer Android. widget. ArrayAdapter; importer Android. widget. ListView; public class ComponentNamesFragment extends ListFragment {final static Chaîne [] COMPONENTS = {"Activité", "Service", "BroadcastReceiver", "ContentProvider"}; @Override public void onActivityCreated (Bundle savedInstanceState) {super. onActivityCreated (savedInstanceState); setListAdapter (nouveau ArrayAdapter (getActivity (), android R. mise en page simple_list_item_1, COMPONENTS)); @Override public void onListItemClick (ListView l, Voir v, int index, long id) {// Créer un fragment avec l'index DocsFragment docsFragment = nouveau DocsFragment (); Bundle args = Assistant. getBundleWithIndex (index); docsFragment. setArguments (args); // Efface la pile arrière FragmentManager fragmentManager = getFragmentManager (); int backStackEntryCount = fragmentManager. getBackStackEntryCount (); pour (int i = 0; i 

La classe dans le code ci-dessus étend la classe ListFragment d'Android. Un ListFragment est un fragment qui affiche une liste. Très tôt dans le cycle de vie du fragment, le code de l'exemple ci-dessus définit un adaptateur de liste (plus précisément, un ArrayAdapter) pour le fragment. Alors, à quelle heure est-il "tôt"?

Le premier paramètre du constructeur ArrayAdapter est un contexte. Mais attendez! Contrairement à une activité, un fragment n'est pas un contexte. Vous ne pouvez donc pas utiliser le mot clé this pour le premier paramètre du constructeur ArrayAdapter.

Heureusement, un fragment a une méthode getActivity. Un appel à getActivity récupère l'activité à laquelle le fragment est attaché. Ainsi, pour le premier paramètre du constructeur ArrayAdapter, vous pouvez appeler getActivity. Bien sûr, vous ne pouvez pas appeler getActivity avant que le fragment ne soit associé à une activité existante. C'est pourquoi la méthode onActivityCreated du fragment est surchargée ci-dessus. Android appelle onActivityCreated après avoir attaché le fragment et appelé la méthode onCreate de l'activité. Donc tout fonctionne comme prévu.

L'androïde. app. La classe d'arrière-grands-parents de la classe d'activité est android. contenu. Le contexte. Mais l'androïde. app. La classe parente de la classe Fragment est un ancien java. lang. Objet. Par conséquent, dans le code d'une activité, le mot clé this fait référence à un contexte. Mais dans le code d'un fragment, le mot-clé ceci ne fait pas référence à un contexte.

Dans l'exemple ci-dessus, le constructeur de ArrayAdapter a trois paramètres.

Le premier paramètre est le contexte - ce méchant paramètre qui vous force à placer le constructeur dans la méthode onActivityCreated.

Le deuxième paramètre est simple_list_item_1 - une mise en page Android standard.

La disposition simple_list_item_ 1 crée l'apparence que vous voyez sur le côté gauche de l'image. Android a beaucoup de ces dispositions standard. Pour un aperçu des dispositions disponibles, visitez le site développeur d'Android.

Le troisième paramètre est la collection d'éléments qui apparaîtront dans la liste.

Dans cet exemple, ces éléments proviennent du tableau COMPONENTS, qui est déclaré dans le même exemple.

Comme ListActivity, un ListFragment a une méthode onListItemClick. Vous pouvez répondre à un clic en travaillant avec un DocsFragment, un FragmentTransaction et un FragmentManager:

Le DocsFragment représente le côté droit de l'image ci-dessus.

Une transaction fragmentée est un tas de choses que vous faites avec des fragments. Par exemple, la configuration pour remplacer un fragment par un autre est une transaction.

Un gestionnaire de fragment fait ce que son nom l'indique. Il gère les arrivées et départs de fragments.

Comment utiliser les fragments pour programmer votre application Android - les nuls

Le choix des éditeurs

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Comment travailler avec Photoshop CS6 Images brutes - mannequins

Certaines caméras capturent des images dans des formats bruts. Photoshop CS6 peut traiter ces images dans des images formatées. Il vous permet également de travailler avec eux de différentes manières que les images déjà traitées. Voici quelques détails sur le traitement des images brutes par Photoshop. Préférences Camera Raw: Voici les détails de ces préférences: Quand une Camera Raw ...

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Comment utiliser Photoshop CC Fusionner vers HDR Pro - mannequins

Lorsque vous avez les expositions de que vous voulez créer votre chef-d'œuvre HDR, vous devez les assembler en utilisant la fonction Fusionner vers HDR Pro dans Photoshop CC. Vous pouvez ouvrir Merge to HDR Pro soit dans le menu Fichier → Automatiser de Photoshop, soit vous pouvez sélectionner les images à utiliser dans Bridge et utiliser Bridge ...

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comment utiliser les masques rapides dans Photoshop CS6 - les mannequins

Comme vous pouvez probablement le deviner d'après le nom , Les masques rapides de Photoshop CS6 vous permettent de créer et de modifier des sélections rapidement. Bien que vous ne créiez pas vraiment un masque de produit final en soi, la façon dont vous allez obtenir votre sélection est "semblable à un masque. "Ils sont également conviviaux, car ils vous permettent de voir votre image pendant que vous travaillez. ...

Le choix des éditeurs

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Bitmap et images vectorielles dans Adobe Photoshop CS5 - mannequins

Capacité de photoshop Creative Suite 5 à utiliser à la fois l'image bitmap et Les images vectorielles vous offrent, en tant que concepteur, des opportunités incroyables en combinant les deux technologies. Vous avez peut-être déjà découvert que Photoshop fonctionne un peu différemment de la plupart des autres applications. Pour créer ces gradations douces d'une couleur à l'autre, Photoshop tire parti des pixels. ...

Capturer des images à fusionner vers HDR Pro - mannequins

Capturer des images à fusionner vers HDR Pro - mannequins

Pour fusionner plusieurs expositions en une image HDR en utilisant Photoshop CC, vous devez avoir plusieurs expositions avec lesquelles travailler. Il y a deux façons de relever le défi: Vous pouvez prendre une série d'expositions, ou photographier une image brute et faire plusieurs copies avec différentes valeurs d'exposition. Si vous voulez absolument le meilleur ...

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Modifiez le pinceau dans le panneau Outils Photoshop CS5 - les nuls

Regroupés dans le panneau Outils de Photoshop Creative Suite 5 sont les outils utilisés pour peindre et retoucher des images. Lorsque vous cliquez pour sélectionner différents outils de peinture, notez le menu Pinceau (deuxième à partir de la gauche) dans la barre des options. Cliquez sur la flèche pour ouvrir le sélecteur Pinceaux prédéfinis. Utilisez le curseur Diamètre principal pour ...

Le choix des éditeurs

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comment utiliser plusieurs styles avec CSS3 - mannequins

Comprendre les règles d'héritage dans CSS3 vous aide à créer des sites intéressants nécessitant un minimum de maintenance. En suivant ces règles, lorsque la maintenance est requise, vous devez normalement effectuer un seul changement, plutôt que de modifier individuellement des centaines d'éléments. Cela vaut la peine d'expérimenter, pour que vous puissiez comprendre tous les effets de l'héritage ...

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comment utiliser l'éditeur HTML CoffeeCup - les nuls

Comme outil principal des pages Web WYSIWYG, CoffeeCup HTML Editor possède toutes les fonctionnalités de base importantes dont vous avez besoin pour créer des pages Web de base. En utilisant ces fonctionnalités, vous pouvez créer et éditer des pages Web sans voir les balises HTML, glisser et déposer des liens vers d'autres sites Web sans taper l'URL ou le chemin, couper et coller ...

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Comment utiliser l'espace blanc dans votre conception de site Web - les nuls

Pages Web qui ont des tonnes des choses emballées dans tous les coins et recoins rendent la page difficile à lire et ne donnent pas l'occasion à l'œil de se reposer. Lors de la création d'une mise en page Web, prévoyez toujours un espace libre autour de vos éléments de conception. Les espaces ouverts créent non seulement une atmosphère plus invitante ...