Comentarios en Android Layout xml


145

Me gustaría ingresar algunos comentarios en los archivos XML de diseño, ¿cómo lo haría?

Respuestas:


252

Como dijo otro, los comentarios en XML son así

<!-- this is a comment -->

Tenga en cuenta que pueden abarcar varias líneas

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

Pero no pueden ser anidados

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

Tampoco puedes usarlos dentro de las etiquetas

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

3
También no se puede tener un guión doble dentro de un comentario o el analizador XML se quejará <! - esto - causa un problema, pero esto - No ->
Martin Belcher - AtWrk

Si está utilizando Eclipse, puede abrir el archivo XML, colocar el cursor donde desea el comentario, luego elegir desde el menú superior Fuente -> Agregar comentario de bloque. Además, "ctrl + shft + /" (es decir, mantenga presionado el control y la tecla Mayús y luego presione la tecla de barra diagonal). El código de comentario se creará con el cursor en el medio, por lo que puede comenzar a escribir.
LeBeau

77
> Tampoco puedes usarlos dentro de las etiquetas. Muy desafortunado realmente.
linuxjava

38

El Consorcio World Wide Web (W3C) en realidad definió una interfaz de comentarios. La definición 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.

Más detalles están disponibles en el sitio developer.android.com .

Así que simplemente puede agregar su comentario entre cualquier etiqueta inicial y final. En Eclipse IDE, simplemente escribir <!--completaría automáticamente el comentario por usted. Luego puede agregar el texto de su comentario en el medio.

Por ejemplo:

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

El propósito de mencionar específicamente in betweenes porque no puede usarlo dentro de una etiqueta.

Por ejemplo:

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

está mal y dará el siguiente error

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

1
Nota: No hay comentarios dentro de las etiquetas. Esta debería ser la respuesta seleccionada
Eslam Sameh Ahmed

1
Se envió una mejora al equipo de Android Studio. Si uso el enlace de datos y quiero comentar una línea en XML donde escribí alguna lógica de enlace de datos, tengo que comentar en otro lugar y no ayuda con la visibilidad ni a qué parte se refiere el comentario. Esto no es algo que debería ser imposible de hacer, y debería estar habilitado para que nosotros (desarrolladores) lo usemos.
Chapz

19

Los comentarios XML comienzan con <!--y terminan con -->.

Por ejemplo:

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

10

Hay dos formas de hacerlo

  1. Comience su comentario con "<!--"luego finalice su comentario con "-->"

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

  2. Resalte la parte que desea comentar y presione CTRL + MAYÚS + /


9

ctrl + shift + / Puedes comentar el código.

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

Comentarios DENTRO de etiquetas posibles

Es posible crear atributos personalizados que se pueden utilizar para comentarios / documentación.

En el ejemplo a continuación, documentation:infose define un atributo, con un valor de comentario de ejemplo:

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

Tenga en cuenta que, en este caso, documentation.mycompany.comes solo una definición para el nuevo espacio de nombres XML personalizado (de documentation) y, por lo tanto, es solo una cadena de URI única ; puede ser cualquier cosa siempre que sea única. El documentationa la derecha de xmlns:puede ser cualquier cosa: funciona de la misma manera que android:se define y utiliza el espacio de nombres XML.

Con este formato, se puede crear cualquier número de atributos, como documentation:info, documentation:translation_notesetc., junto con un valor de descripción, el formato es el mismo que cualquier atributo XML.

En resumen:

  • Agregue un xmls:my_new_namespaceatributo al elemento XML raíz (nivel superior) en el archivo de diseño XML. Establezca su valor en una cadena única
  • En cualquier elemento XML secundario dentro del archivo, use el nuevo espacio de nombres y cualquier palabra siguiente para definir las etiquetas de comentarios que se ignoran cuando se compilan, por ejemplo <TextView my_new_namespace:my_new_doc_property="description" />

1
Tenga en cuenta que estos atributos no se descartarán durante el proceso de compilación, sino que se almacenarán dentro del APK resultante. Considere usar el tools:espacio de nombres especial , que se descarta. (Probablemente no existía cuando se publicó esta respuesta, pero esta página sigue recibiendo nuevos espectadores.)
j__m

@j__m Este es un buen punto. No he investigado si ProGuard puede eliminar esto de forma automática o con un poco de configuración ...
CJBS

4

Si desea comentar Android Studiosimplemente presione:

Ctrl+ /en Windows / Linux

Cmd+ /en Mac.

Esto funciona tanto en archivos XML strings.xmlcomo en archivos de código como MainActivity.java.


3

haga clic en el

Ctrl + Mayús + /

y escriba todo lo que usted y todo estará en los comentarios


0

También puede agregar comentarios presionando Ctrl + shift + / y shift + / para una línea.


-1

Increíblemente, en 2019 con Android Studio 3.3 (no sé la versión exacta, al menos 3.3), es posible usar un comentario de doble barra para xml.

Pero si usa un comentario de barra doble en xml, IDE muestra advertencia.

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

Mostrará advertencia Unexpected text found in layout file: ....
CoolMind

-2

De la nota de Federico Culloca:

Tampoco puedes usarlos dentro de las etiquetas

Medio; debe colocar el comentario en la parte superior o inferior del archivo; todos los lugares donde realmente desea agregar comentarios están al menos dentro de la etiqueta de diseño de nivel superior


9
No significa esto. Puedes poner un comentario perfectamente en algún lugar en el medio del archivo. Solo necesita estar entre otras etiquetas.
Alex Che

Más específicamente, deben estar en este orden: etiqueta de cierre del elemento n, comentario, etiqueta de apertura del elemento n + 1.
prohibición de geoingeniería
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.