Commenti in xml Layout Android


145

Vorrei inserire alcuni commenti nei file XML del layout, come farei?

Risposte:


252

Come altri hanno detto, i commenti in XML sono così

<!-- this is a comment -->

Si noti che possono estendersi su più righe

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

Ma non possono essere nidificati

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

Inoltre non puoi usarli all'interno dei tag

<EditText <!--This is not valid--> android:layout_width="fill_parent" />

3
Inoltre non puoi avere un doppio trattino all'interno di un commento o il parser XML si lamenterà <! - questo - causa un problema ma questo - no ->
Martin Belcher - AtWrk

Se si utilizza Eclipse, è possibile aprire il file XML, posizionare il cursore nel punto in cui si desidera il commento, scegliere dal menu in alto Origine -> Aggiungi commento blocco. Inoltre, "ctrl + shft + /" (ovvero, mantieni il controllo e il tasto Maiusc, quindi premi il tasto barra). Il codice del commento verrà creato con il cursore al centro, quindi puoi iniziare a digitare.
LeBeau,

7
> Inoltre non è possibile utilizzarli all'interno dei tag. Davvero un peccato.
linuxjava,

38

Il World Wide Web Consortium (W3C) ha effettivamente definito un'interfaccia di commento. La definizione dice 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.

Maggiori dettagli sono disponibili sul sito developer.android.com .

Quindi puoi semplicemente aggiungere il tuo commento tra qualsiasi tag iniziale e finale. In Eclipse IDE la semplice digitazione <!--completerebbe automaticamente il commento per te. È quindi possibile aggiungere il testo del commento tra.

Per esempio:

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

Lo scopo della menzione specifica in betweenè perché non è possibile utilizzarlo all'interno di un tag.

Per esempio:

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

è errato e restituirà il seguente errore

 Element type "TextView" must be followed by either attribute specifications, ">" or "/>".

1
Nota: nessun commento all'interno dei tag. Questa dovrebbe essere la risposta selezionata
Eslam Sameh Ahmed,

1
Presentato un entusiasmo al team di Android Studio. Se utilizzo l'associazione dati e desidero commentare una riga in XML in cui ho scritto una logica di associazione dati, devo commentare altrove e non aiuta con la visibilità o a quale parte fa riferimento il commento. Questo non è qualcosa che dovrebbe essere impossibile da fare e dovrebbe essere abilitato per noi (sviluppatori) da usare.
Chapz,

19

I commenti XML iniziano con <!--e terminano con -->.

Per esempio:

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

10

Ci sono due modi per farlo

  1. Inizia il tuo commento con "<!--"quindi termina il tuo commento con "-->"

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

  2. Evidenzia la parte che desideri commentare e premi CTRL + MAIUSC + /


9

ctrl + shift + / Puoi commentare il codice.

<!--    
     <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"/>-->


4

Commenti possibili all'interno dei tag

È possibile creare attributi personalizzati che possono essere utilizzati a scopo di commento / documentazione.

Nell'esempio seguente, documentation:infoviene definito un attributo, con un valore di commento di esempio:

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

Si noti che in questo caso, documentation.mycompany.comè solo una definizione per il nuovo spazio dei nomi XML personalizzato (di documentation) ed è quindi solo una stringa URI univoca : può essere qualsiasi cosa purché unica. Anche documentationa destra di xmlns:può essere qualsiasi cosa: funziona nello stesso modo in cui lo android:spazio dei nomi XML viene definito e utilizzato.

Utilizzando questo formato, è possibile creare un numero qualsiasi di attributi, come documentation:info, documentation:translation_notesecc., Insieme a un valore di descrizione, il formato è lo stesso di qualsiasi attributo XML.

In sintesi:

  • Aggiungi un xmls:my_new_namespaceattributo all'elemento XML radice (di livello superiore) nel file di layout XML. Imposta il suo valore su una stringa univoca
  • Sotto qualsiasi elemento XML figlio all'interno del file, utilizzare il nuovo spazio dei nomi e qualsiasi parola che segue per definire i tag di commento che vengono ignorati durante la compilazione, ad es. <TextView my_new_namespace:my_new_doc_property="description" />

1
Si noti che questi attributi non verranno eliminati durante il processo di compilazione, ma verranno invece archiviati all'interno dell'APK risultante. Prendi tools:invece in considerazione l'utilizzo dello spazio dei nomi speciale , che viene scartato. (Probabilmente non esisteva quando questa risposta è stata pubblicata, ma questa pagina continua ad attirare nuovi spettatori.)
j__m

@j__m Questo è un buon punto. Non ho verificato se ProGuard può rimuoverlo automaticamente o con un po 'di configurazione ...
CJBS,

4

Se vuoi commentare Android Studiosemplicemente premi:

Ctrl+ /su Windows / Linux

Cmd+ /su Mac.

Questo funziona in file XML strings.xmlcome anche in file di codice come MainActivity.java.


3

clicca il

Ctrl + shift + /

e scrivi qualsiasi cosa tu e ogni cosa sarai nei commenti


0

puoi anche aggiungere un commento premendo Ctrl + Maiusc + / e Maiusc + / per una riga.


-1

Incredibilmente, nel 2019 con Android Studio 3.3 (non conosco la versione esatta, almeno 3.3), è possibile utilizzare il commento a doppia barra su XML.

Ma se usi un commento con doppia barra in XML, IDE mostra un avviso.

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

Mostrerà avvertimento Unexpected text found in layout file: ....
CoolMind,

-2

Dalla nota di Federico Culloca:

Inoltre non puoi usarli all'interno dei tag

Si intende; devi inserire il commento nella parte superiore o inferiore del file: tutti i punti in cui desideri davvero aggiungere commenti si trovano almeno all'interno del tag di layout di livello superiore


9
Non significa questo. Puoi inserire perfettamente un commento da qualche parte nel mezzo del file. Deve solo essere tra altri tag.
Alex Che il

Più specificamente, devono essere in questo ordine: tag di chiusura dell'elemento n, commento, tag di apertura dell'elemento n + 1.
divieto di geoingegneria il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.