Комментарии в Android Layout xml - PullRequest
140 голосов
/ 14 августа 2010

Я хотел бы добавить некоторые комментарии в файлы макета XML, как бы я это сделал?

Ответы [ 12 ]

246 голосов
/ 14 августа 2010

Как уже говорилось, комментарии в XML выглядят так:

<!-- this is a comment -->

Обратите внимание, что они могут занимать несколько строк

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

Но они не могут быть вложенными

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

Также вы не можете использовать их внутри тегов

<EditText <!--This is not valid--> android:layout_width="fill_parent" />
35 голосов
/ 21 октября 2013

Консорциум World Wide Web (W3C) фактически определил интерфейс комментариев. Определение гласит 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.

Более подробная информация доступна на сайте developer.android.com .

Таким образом, вы можете просто добавить свой комментарий между любым начальным и конечным тегом. В Eclipse IDE простой ввод <!-- автоматически завершит комментарий для вас. Затем вы можете добавить свой комментарий между ними.

Например:

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

Цель конкретного упоминания in between заключается в том, что вы не можете использовать его внутри тега.

Например:

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

неверно и выдаст следующую ошибку

 Element type "TextView" must be followed by either attribute specifications, ">" or "/>".
19 голосов
/ 14 августа 2010

XML-комментарии начинаются с <!-- и заканчиваются -->.

Например:

<!-- This is a comment. -->
6 голосов
/ 14 августа 2010
<!-- comment here -->
5 голосов
/ 05 июня 2018

ctrl + shift + / Вы можете прокомментировать код.

<!--    
     <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"/>-->
5 голосов
/ 05 сентября 2017

Вы можете сделать это двумя способами

  1. Начните свой комментарий с "<!--", затем завершите свой комментарий с "-->"

    Пример <!-- my comment goes here -->

  2. Выделите часть, которую вы хотите прокомментировать, и нажмите CTRL + SHIFT + /

4 голосов
/ 15 мая 2016

Если вы хотите оставить комментарий в Android Studio, просто нажмите:

Ctrl + / в Windows / Linux

Cmd + / на Mac.

Это работает в файлах XML, таких как strings.xml, а также в файлах кода, таких как MainActivity.java.

2 голосов
/ 20 февраля 2018

нажмите

Ctrl + Shift + /

и напишите все, что вы и все будет в комментариях

2 голосов
/ 10 февраля 2015

Комментарии возможны тэги INSIDE

Можно создавать пользовательские атрибуты, которые можно использовать для комментирования / документирования.

В приведенном ниже примере определен атрибут documentation:info спример значения комментария:

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

Обратите внимание, что в этом случае documentation.mycompany.com является просто определением для нового пользовательского пространства имен XML (из documentation) и, таким образом, просто уникальная строка URI - это может быть что угодно, пока это уникально.documentation справа от xmlns: также может быть любым - это работает так же, как определяется и используется пространство имен android: XML.

Используя этот формат, любое количество атрибутов может бытьсоздан, например documentation:info, documentation:translation_notes и т. д., вместе со значением описания, формат которого совпадает с любым атрибутом XML.

В итоге:

  • Добавитьxmls:my_new_namespace атрибут корневого (верхнего уровня) XML-элемента в файле макета XML.Задайте для его значения уникальную строку
  • Для любого дочернего элемента XML в файле используйте новое пространство имен и любое следующее слово для определения тегов комментариев, которые игнорируются при компиляции, например, <TextView my_new_namespace:my_new_doc_property="description" />
0 голосов
/ 20 февраля 2019

Невероятно, но в 2019 году с Android Studio 3.3 (я не знаю точную версию, по крайней мере, 3.3), можно использовать двойной слеш комментарий к xml.

Но если вы используете двойной слэш-комментарий в xml, IDE показывает предупреждение.

<?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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...