Комментарии в Android Layout xml

112

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

Теги:

8 ответов

197

Как и другие, комментарий в 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" />
  • 3
    Также вы не можете использовать двойную черту в комментарии, иначе анализатор XML будет жаловаться <! - это - вызывает проблему, но это - не ->
  • 0
    Если вы используете Eclipse, вы можете открыть файл XML, поместить курсор туда, где вы хотите комментарий, выберите в верхнем меню Source -> Add Block Comment. Кроме того, "Ctrl + Shft + /" (то есть, удерживайте нажатой клавишу управления и клавишу Shift, а затем нажмите клавишу косой черты). Код комментария будет создан с вашим курсором посередине, так что вы можете просто начать печатать.
Показать ещё 1 комментарий
31

Консорциум 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 "/>".
  • 1
    Примечание: внутри тегов нет комментариев. Это должен быть выбранный ответ
  • 0
    Подчинилось увлечению командой Android Studio. Если я использую привязку данных и хочу комментировать строку в XML, где я написал некоторую логику привязки данных, я должен комментировать где-то еще, и это не помогает с видимостью или к какой части относится комментарий. Это не то, что должно быть невозможно сделать, и оно должно быть доступно для нас (разработчиков).
15

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

Например:

<!-- This is a comment. -->
5
<!-- comment here -->
2

если вы хотите прокомментировать Android Studio. просто нажмите ctrl + /.

2

Комментарии Возможны теги 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 string - это может быть что угодно, пока оно уникально. documentation справа от xmlns: также может быть любым - это работает так же, как и используется пространство имен android: XML.

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

Вкратце:

  • Добавить атрибут xmls:my_new_namespace в XML файл корневого (верхнего уровня) XML в файле макета XML. Установите его значение в уникальную строку
  • Под любым дочерним XML-элементом внутри файла используйте новое пространство имен и любое слово, следующее для определения тегов комментариев, которые игнорируются при компиляции, например. <TextView my_new_namespace:my_new_doc_property="description" />
  • 0
    Обратите внимание, что эти атрибуты не будут отброшены во время процесса сборки, а вместо этого будут сохранены в результирующем APK. Подумайте об использовании специальных tools: вместо этого пространство имен, которое отбрасывается. (Вероятно, его не было, когда этот ответ был опубликован, но эта страница продолжает получать новых зрителей.)
  • 0
    @j__m Это хороший момент. Я не изучал, может ли ProGuard удалить это либо автоматически, либо с небольшой настройкой ...
0

Начните свой комментарий с помощью

 "<!--" the n end your Comment with "-->"

Пример

<-- my goes here -->
-3

От Federico Culloca примечание:

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

средства; вы должны поместить комментарий в верхнюю или нижнюю часть файла - все те места, где вы действительно хотите добавлять комментарии, по крайней мере, находятся в теге макета верхнего уровня

  • 9
    Это не значит это. Вы можете отлично поместить комментарий где-то в середине файла. Это просто должно быть между другими тегами.
  • 0
    Более конкретно, они должны быть в следующем порядке: закрывающий тег элемента n, комментарий, открывающий тег элемента n + 1.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню