À partir d'une nouvelle version récente d'ADT, j'ai remarqué ce nouvel attribut sur les fichiers XML de mise en page, par exemple:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MainActivity" />
À quoi sert «outils: contexte»?
Comment sait-il même le chemin exact vers l'activité qui y est écrite? Regarde-t-il le package de l'application, à l'intérieur du manifeste?
Est-ce limité aux classes qui étendent le contexte ou uniquement aux activités? Est-il utilisable pour les éléments ListView, etc.?
android
xml
android-layout
android-context
android-tools-namespace
développeur android
la source
la source
Réponses:
Il s'agit de l'activité que l'éditeur d'outils d'interface utilisateur utilise pour rendre l'aperçu de votre présentation. Il est documenté ici :
la source
Activity
s'étendContext
, donc vous ne savez pas ce que vous voulez dire? Il pourrait faire plus en effet, si vous êtes intéressé, vérifiez le code source, il est disponible. Je ne connais aucun détail.Cet attribut est essentiellement la persistance de la sélection "Activité associée" au-dessus de la disposition. Au moment de l'exécution, une présentation est toujours associée à une activité. Il peut bien sûr être associé à plusieurs, mais au moins un. Dans l'outil, nous devons connaître ce mappage (qui au moment de l'exécution se produit dans l'autre sens; une activité peut appeler setContentView (mise en page) pour afficher une mise en page) afin de piloter certaines fonctionnalités.
À l'heure actuelle, nous ne l'utilisons que pour une seule chose: choisir le bon thème à afficher pour une mise en page (puisque le fichier manifeste peut enregistrer des thèmes à utiliser pour une activité , et une fois que nous connaissons l'activité associée à la mise en page, nous pouvons choisir le bon thème à afficher pour la mise en page). À l'avenir, nous l'utiliserons pour générer des fonctionnalités supplémentaires - telles que le rendu de la barre d'action (qui est associée à l'activité), un endroit pour ajouter des gestionnaires OnClick, etc.
La raison pour laquelle il s'agit d'un attribut tools: namespace est qu'il ne s'agit que d'un mappage au moment du design à utiliser par l'outil. La mise en page elle-même peut être utilisée par plusieurs activités / fragments, etc. Nous voulons simplement vous donner un moyen de choisir une liaison de conception telle que nous pouvons par exemple montrer le bon thème; vous pouvez le modifier à tout moment, tout comme vous pouvez modifier notre liste et nos liaisons de fragments, etc.
(Voici l'ensemble de modifications complet qui contient plus de détails à ce sujet )
Et oui, le lien Nikolay répertorié ci-dessus montre à quoi ressemble le nouveau sélecteur de configuration et fonctionne
Encore une chose: l'espace de noms "tools" est spécial. L'outil de packaging Android sait l'ignorer, donc aucun de ces attributs ne sera inclus dans l'APK. Nous l'utilisons pour des métadonnées supplémentaires dans la mise en page. C'est aussi où par exemple les attributs pour supprimer les avertissements de peluches sont stockés - comme outils: ignorer.
la source
tools:context
valeur sur leTextView
terrain. Comme cela ressemble à un cas d'utilisation global pour appliquer un thème à la mise en page entière, pourquoi n'est-il pas placé dans la mise en page racine?Selon le site du projet Android Tools :
outils: contexte
Cet attribut est généralement défini sur l'élément racine dans un fichier XML de mise en page et enregistre l'activité à laquelle la mise en page est associée (au moment du design, car une mise en page peut évidemment être utilisée par plusieurs mises en page). Cela sera par exemple utilisé par l'éditeur de mise en page pour deviner un thème par défaut, car les thèmes sont définis dans le manifeste et sont associés à des activités, pas à des mises en page. Vous pouvez utiliser le même préfixe de point que dans les manifestes pour simplement spécifier la classe d'activité sans le nom complet du package d'application comme préfixe.
Utilisé par: les éditeurs de mise en page dans Studio & Eclipse, Lint
la source
1. description
tools: context = "activity name"
il ne sera pas emballé dans leapk
.SeulementADT
Editor Mise en page dans votre jeu en cours de fichier mise en page contexte de rendu correspondant, montrer votre mise en page en cours dans le rendu le contexte est le nom de l' activité correspond à l'activité, si l'activité dans lemanifest
fichier défini un thème, puisADT
L'éditeur de mise en page rendra votre mise en page actuelle en fonction du thème, ce qui signifie que si vousMainActivity
définissez un thème. La lumière (l'autre), alors vous voyez dans le gestionnaire de disposition visuelle o le contrôle d'arrière-plan de ce qui devrait être le thème. La lumière ressemble à seulement ce que vous voyez est ce que vous obtenez des résultats.Certaines personnes le comprendront, d'autres le verront également ne sais pas, j'ajouterai quelques mots d'explication:
2. échantillon
3. description spécifique
1.Il
tools: context = "activity name"
ne sera pas emballé dans leapk
(compréhension: l'équivalent de ceci est commenté, aucun effet compilé.)2.Seulement l'
ADT
éditeur de mise en page (c'est-à-dire pour l'icône ci-dessus sur le côté droit du simulateur) dans le contexte de rendu du jeu de fichiers de mise en page correspondant, la mise en page du XML actuel dans le rendu du contexte est le nom de l'activité correspond à l'activité, si l'activité dans le fichier manifeste définit un thème, puis l'ADT
éditeur de disposition rendra votre disposition actuelle en fonction du thème. Cela signifie que si vous définissez l'MainActivity
ensemble un thème. La lumière peut également être (autre). (Comprenez: vous avez ajoutétools: context = "activity name"
, la disposition XML rend l'activité spécifiée, établit un thème dans le fichier manifeste, illustré ci-dessus à droite. Le style du thème du simulateur suivra également les modifications correspondant au thème.)4. résumé
Pour résumer, ces propriétés visent principalement au-dessus des bons outils, l'état d'affichage du temps de débogage du simulateur et la compilation ne fonctionnent pas,
la source
«Tools: context» est l'un des attributs de conception qui peuvent faciliter la création de disposition en XML dans le cadre de développement. Cet attribut est utilisé pour montrer au framework de développement quelle classe d'activité est choisie pour implémenter la mise en page. En utilisant «tools: context», Android Studio choisit automatiquement le thème nécessaire pour l'aperçu.
Si vous souhaitez en savoir plus sur d'autres attributs et outils utiles pour le développement d'applications Android, jetez un œil à cette revue: http://cases.azoft.com/4-must-know-tools-for-effective-android -développement/
la source
C'est la meilleure solution: https://developer.android.com/studio/write/tool-attributes
Il s'agit d'attributs de conception, nous pouvons définir le contexte d'activité en XML comme
Adaptateur:
Vous pouvez accéder à la classe java en cliquant sur l'icône marquée et les outils ont plus de fonctionnalités comme
etx
la source
tools:context=".MainActivity"
cette ligne est utilisée dans un fichier xml qui indique quel fichier source java est utilisé pour accéder à ce fichier xml. cela signifie afficher cet aperçu xml pour les fichiers java perticular.la source