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.