Kommentare in Android Layout xml

144

Ich möchte einige Kommentare in die Layout-XML-Dateien eingeben. Wie würde ich das tun?

user412317
quelle

Antworten:

252

Wie bereits erwähnt, sind die Kommentare in XML wie folgt

<!-- this is a comment -->

Beachten Sie, dass sie sich über mehrere Zeilen erstrecken können

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

Sie können jedoch nicht verschachtelt werden

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

Sie können sie auch nicht in Tags verwenden

<EditText <!--This is not valid--> android:layout_width="fill_parent" />
Federico klez Culloca
quelle
3
Sie können auch keinen doppelten Bindestrich in einem Kommentar haben, oder der XML-Parser beschwert sich <! - dies - verursacht ein Problem, aber dies - nicht ->
Martin Belcher - AtWrk
Wenn Sie Eclipse verwenden, können Sie die XML-Datei öffnen, den Cursor an die gewünschte Stelle setzen und im oberen Menü Quelle -> Blockkommentar hinzufügen auswählen. Außerdem "Strg + Umschalt + /" (dh halten Sie die Steuerung und die Umschalttaste gedrückt und drücken Sie dann die Schrägstrich-Taste). Der Kommentarcode wird mit dem Cursor in der Mitte erstellt, sodass Sie einfach mit der Eingabe beginnen können.
LeBeau
7
> Sie können sie auch nicht in Tags verwenden. Wirklich sehr unglücklich.
Linuxjava
38

Das World Wide Web Consortium (W3C) hat tatsächlich eine Kommentarschnittstelle definiert. Die Definition sagt 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.

Weitere Informationen finden Sie auf der Website developer.android.com .

Sie können Ihren Kommentar also einfach zwischen einem beliebigen Start- und End-Tag einfügen. In der Eclipse-IDE wird durch einfaches Eingeben <!--der Kommentar automatisch für Sie vervollständigt. Sie können dann Ihren Kommentartext dazwischen hinzufügen.

Beispielsweise:

<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>

Der Zweck der spezifischen Erwähnung in betweenbesteht darin, dass Sie es nicht in einem Tag verwenden können.

Beispielsweise:

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

ist falsch und gibt folgenden Fehler

 Element type "TextView" must be followed by either attribute specifications, ">" or "/>".
Aniket Thakur
quelle
1
Hinweis: Keine Kommentare in Tags. Dies sollte die ausgewählte Antwort sein
Eslam Sameh Ahmed
1
Übermittelte eine Erweiterung an das Android Studio-Team. Wenn ich Datenbindung verwende und eine Zeile in XML kommentieren möchte, in der ich eine Datenbindungslogik geschrieben habe, muss ich irgendwo anders kommentieren, und dies hilft nicht bei der Sichtbarkeit oder auf welchen Teil sich der Kommentar bezieht. Dies sollte nicht unmöglich sein und sollte für uns (Entwickler) aktiviert werden.
Chapz
19

XML-Kommentare beginnen mit <!--und enden mit -->.

Beispielsweise:

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

Es gibt zwei Möglichkeiten, wie Sie das tun können

  1. Beginnen Sie Ihren Kommentar mit "<!--"und beenden Sie Ihren Kommentar mit "-->"

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

  2. Markieren Sie den Teil, den Sie kommentieren möchten, und drücken Sie STRG + UMSCHALT + /

eli
quelle
9

Strg + Umschalt + / Sie können den Code kommentieren.

<!--    
     <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
quelle
7
<!-- comment here -->
Wesley Wiser
quelle
4

Kommentare INSIDE-Tags möglich

Es ist möglich, benutzerdefinierte Attribute zu erstellen, die für Kommentar- / Dokumentationszwecke verwendet werden können.

Im folgenden Beispiel wird ein documentation:infoAttribut mit einem Beispielkommentarwert definiert:

<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>

Beachten Sie, dass dies in diesem Fall documentation.mycompany.comnur eine Definition für den neuen benutzerdefinierten XML-Namespace (von documentation) ist und somit nur eine eindeutige URI-Zeichenfolge - es kann alles sein, solange es eindeutig ist. Das documentationrechts von xmlns:kann auch alles sein - dies funktioniert genauso, wie der android:XML-Namespace definiert und verwendet wird.

Unter Verwendung dieses Formats kann eine beliebige Anzahl von Attributen erzeugt, wie beispielsweise sein documentation:info, documentation:translation_notesusw., zusammen mit einer Beschreibung Wert, ist das Format das gleiche wie jeder XML - Attribut ist.

Zusammenfassend:

  • Fügen Sie xmls:my_new_namespacedem XML-Stammelement (oberste Ebene) in der XML-Layoutdatei ein Attribut hinzu. Setzen Sie den Wert auf eine eindeutige Zeichenfolge
  • Verwenden Sie unter einem untergeordneten XML-Element in der Datei den neuen Namespace und ein beliebiges Wort, um Kommentar-Tags zu definieren, die beim Kompilieren ignoriert werden, z <TextView my_new_namespace:my_new_doc_property="description" />
CJBS
quelle
1
Beachten Sie, dass diese Attribute während des Erstellungsprozesses nicht verworfen werden, sondern in der resultierenden APK gespeichert werden. Verwenden Sie stattdessen den speziellen tools:Namespace, der verworfen wird. (Es existierte wahrscheinlich nicht, als diese Antwort veröffentlicht wurde, aber diese Seite erhält weiterhin neue Zuschauer.)
j__m
@j__m Das ist ein guter Punkt. Ich habe nicht untersucht, ob ProGuard dies entweder automatisch oder mit ein wenig Konfiguration entfernen kann ...
CJBS
4

Wenn Sie einen Kommentar abgeben möchten, Android Studiodrücken Sie einfach:

Ctrl+ /unter Windows / Linux

Cmd+ /auf dem Mac.

Dies funktioniert sowohl in XML-Dateien strings.xmlals auch in Codedateien wie MainActivity.java.

Nabin Khatiwada
quelle
3

drücke den

Strg + Umschalt + /

und schreibe alles, was du und alles in Kommentaren sein wirst

venu46
quelle
0

Sie können auch einen Kommentar hinzufügen, indem Sie Strg + Umschalt + / und Umschalt + / für eine Zeile drücken.


quelle
0

Unglaublicherweise ist es 2019 mit Android Studio 3.3 (ich kenne keine genaue Version, mindestens 3.3) möglich, einen doppelten Schrägstrichkommentar für XML zu verwenden.

Wenn Sie jedoch einen doppelten Schrägstrichkommentar in XML verwenden, zeigt die IDE eine Warnung an.

<?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
quelle
Es wird eine Warnung angezeigt Unexpected text found in layout file: ....
CoolMind
-2

Aus Federico Cullocas Notiz:

Sie können sie auch nicht in Tags verwenden

Meint; Sie müssen den Kommentar oben oder unten in die Datei einfügen. Alle Stellen, an denen Sie wirklich Kommentare hinzufügen möchten, befinden sich mindestens innerhalb des Layout-Tags der obersten Ebene

Süßer Lou
quelle
9
Das heißt das nicht. Sie können einen Kommentar perfekt irgendwo in die Mitte der Datei setzen. Es muss nur zwischen anderen Tags sein.
Alex Che
Insbesondere müssen sie in dieser Reihenfolge sein: schließendes Tag von Element n, Kommentar, öffnendes Tag von Element n + 1.
Ban-Geoengineering