Commentaires dans Android Layout xml

145

Je voudrais entrer des commentaires dans les fichiers XML de mise en page, comment puis-je faire?

user412317
la source

Réponses:

252

Comme d'autres l'ont dit, les commentaires en XML sont comme ça

<!-- this is a comment -->

Notez qu'ils peuvent s'étendre sur plusieurs lignes

<!--
    This is a comment
    on multiple lines
-->

Mais ils ne peuvent pas être imbriqués

<!-- This <!-- is a comment --> This is not -->

Vous ne pouvez pas non plus les utiliser dans les balises

<EditText <!--This is not valid--> android:layout_width="fill_parent" />
Federico klez Culloca
la source
3
De plus, vous ne pouvez pas avoir un double tiret dans un commentaire ou l'analyseur XML se plaindra <! - cela - pose un problème mais cela - ne le fait pas ->
Martin Belcher - AtWrk
Si vous utilisez Eclipse, vous pouvez ouvrir le fichier XML, placer le curseur à l'endroit où vous voulez le commentaire, puis choisir dans le menu supérieur Source -> Ajouter un commentaire de bloc. En outre, "ctrl + shft + /" (c'est-à-dire, maintenez le contrôle et la touche Majuscule puis appuyez sur la touche barre oblique). Le code de commentaire sera créé avec votre curseur au milieu, vous pouvez donc simplement commencer à taper.
LeBeau
7
> Vous ne pouvez pas non plus les utiliser dans les balises. C'est vraiment dommage.
linuxjava
38

Le World Wide Web Consortium (W3C) a en fait défini une interface de commentaire. La définition dit all the characters between the starting ' <!--' and ending '-->' form a part of comment content and no lexical check is done on the content of a comment.

Plus de détails sont disponibles sur le site developer.android.com .

Vous pouvez donc simplement ajouter votre commentaire entre n'importe quelle balise de début et de fin. Dans Eclipse IDE, le simple fait de taper <!--compléterait automatiquement le commentaire pour vous. Vous pouvez ensuite ajouter votre texte de commentaire entre les deux.

Par exemple:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    tools:context=".TicTacToe" >

 <!-- This is a comment -->

</LinearLayout>

Le but de la mention spécifique in betweenest que vous ne pouvez pas l'utiliser à l'intérieur d'une balise.

Par exemple:

<TextView 
    android:text="@string/game_title"
    <!-- This is a comment -->
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"/>

est faux et donnera l'erreur suivante

 Element type "TextView" must be followed by either attribute specifications, ">" or "/>".
Aniket Thakur
la source
1
Remarque: aucun commentaire à l'intérieur des balises. Cela devrait être la réponse choisie
Eslam Sameh Ahmed
1
Envoi d'un enrichissement à l'équipe Android Studio. Si j'utilise la liaison de données et que je souhaite commenter une ligne en XML où j'ai écrit une logique de liaison de données, je dois commenter ailleurs et cela n'aide pas à la visibilité ou à quelle partie le commentaire se réfère. Ce n'est pas quelque chose qui devrait être impossible à faire et qui devrait être activé pour que nous (les développeurs) l'utilisions.
Chapz
19

Les commentaires XML commencent par <!--et se terminent par -->.

Par exemple:

<!-- This is a comment. -->
Dan Dyer
la source
10

Vous pouvez le faire de deux manières

  1. Commencez votre commentaire par, "<!--"puis terminez votre commentaire par "-->"

    Exemple <!-- my comment goes here -->

  2. Mettez en surbrillance la partie que vous souhaitez commenter et appuyez sur CTRL + SHIFT + /

eli
la source
9

ctrl + shift + / Vous pouvez commenter le code.

<!--    
     <View
          android:layout_marginTop="@dimen/d10dp"
          android:id="@+id/view1"
          android:layout_below="@+id/tv_change_password"
          android:layout_width="fill_parent"
          android:layout_height="1dp"
          android:background="#c0c0c0"/>-->
Yogesh Sarvaiya
la source
7
<!-- comment here -->
Wesley Wiser
la source
4

Commentaires à l'intérieur des balises possibles

Il est possible de créer des attributs personnalisés qui peuvent être utilisés à des fins de commentaires / documentation.

Dans l'exemple ci-dessous, un documentation:infoattribut est défini, avec un exemple de valeur de commentaire:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:documentation="documentation.mycompany.com"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/relLayoutID"
    documentation:info="This is an example comment" >

    <TextView
        documentation:purpose="Instructions label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Click here to begin."
        android:id="@+id/tvMyLabel"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        documentation:info="Another example comment"
        documentation:translation_notes="This control should use the fewest characters possible, as space is limited"
        />

</RelativeLayout>

Notez que dans ce cas, il ne documentation.mycompany.coms'agit que d'une définition du nouvel espace de noms XML personnalisé (de documentation), et n'est donc qu'une chaîne d'URI unique - cela peut être n'importe quoi tant qu'il est unique. Le documentationà droite de xmlns:peut également être n'importe quoi - cela fonctionne de la même manière que l' android:espace de noms XML est défini et utilisé.

En utilisant ce format, n'importe quel nombre d'attributs peut être créé, comme documentation:info, documentation:translation_notesetc., avec une valeur de description, le format étant le même que n'importe quel attribut XML.

En résumé:

  • Ajoutez un xmls:my_new_namespaceattribut à l'élément XML racine (niveau supérieur) dans le fichier de mise en page XML. Définissez sa valeur sur une chaîne unique
  • Sous n'importe quel élément XML enfant dans le fichier, utilisez le nouvel espace de noms et tout mot suivant pour définir les balises de commentaire qui sont ignorées lors de la compilation, par exemple <TextView my_new_namespace:my_new_doc_property="description" />
CJBS
la source
1
Notez que ces attributs ne seront pas supprimés pendant le processus de construction, mais seront stockés à la place dans l'APK résultant. Pensez à utiliser à la tools:place l'espace de noms spécial , qui est supprimé. (Elle n'existait probablement pas lorsque cette réponse a été publiée, mais cette page continue d'attirer de nouveaux téléspectateurs.)
j__m
@j__m C'est un bon point. Je n'ai pas cherché à savoir si ProGuard peut supprimer cela automatiquement ou avec un peu de configuration ...
CJBS
4

Si vous souhaitez commenter, Android Studioappuyez simplement sur:

Ctrl+ /sous Windows / Linux

Cmd+ /sur Mac.

Cela fonctionne dans les fichiers XML tels strings.xmlque ainsi que dans les fichiers de code tels que MainActivity.java.

Nabin Khatiwada
la source
3

clique le

Ctrl + Maj + /

et écrivez tout ce que vous et tout sera dans les commentaires

venu46
la source
0

vous pouvez également ajouter un commentaire en appuyant sur Ctrl + Maj + / et Maj + / pour une ligne.


la source
-1

Incroyablement, en 2019 avec Android Studio 3.3 (je ne connais pas la version exacte, au moins 3.3), il est possible d'utiliser le commentaire double barre oblique en xml.

Mais si vous utilisez un commentaire double barre oblique dans xml, l'IDE affiche un avertissement.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    // this works

    /* this works too */

    /*
    multi line comment
    multi line comment
    */

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World! yeah"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>
Stanley Kou
la source
Il affichera un avertissement Unexpected text found in layout file: ....
CoolMind
-2

D'après la note de Federico Culloca:

Vous ne pouvez pas non plus les utiliser dans les balises

Veux dire; vous devez mettre le commentaire en haut ou en bas du fichier - tous les endroits où vous voulez vraiment ajouter des commentaires sont au moins à l'intérieur de la balise de mise en page de niveau supérieur

Doux Lou
la source
9
Cela ne veut pas dire cela. Vous pouvez parfaitement mettre un commentaire quelque part au milieu du fichier. Il doit juste être entre d'autres balises.
Alex Che
Plus précisément, ils doivent être dans cet ordre: balise de fermeture de l'élément n, commentaire, balise d'ouverture de l'élément n + 1.
ban-geoengineering le