Я хотел бы добавить некоторые комментарии в файлы макета XML, как бы я это сделал?
Я хотел бы добавить некоторые комментарии в файлы макета XML, как бы я это сделал?
Ответы:
Как уже говорилось, комментарии в 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" />
Консорциум 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 "/>".
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"/>-->
<!-- comment here -->
Можно создавать собственные атрибуты, которые можно использовать для комментирования / документирования.
В приведенном ниже примере определен 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 (of documentation
), и, таким образом, это просто уникальная строка URI - она может быть любой, если она уникальна. documentation
Справа от xmlns:
также может быть что угодно - это работает точно так же , что android:
XML - пространство имен определяется и используется.
Используя этот формат, можно создать любое количество атрибутов, таких как documentation:info
и documentation:translation_notes
т. Д., Вместе со значением описания, формат которого такой же, как у любого атрибута XML.
В итоге:
xmls:my_new_namespace
атрибут в корневой (верхний) элемент XML в файле макета XML. Установите его значение в уникальную строку<TextView my_new_namespace:my_new_doc_property="description" />
tools:
вместо этого использовать специальное пространство имен, которое отбрасывается. (Вероятно, его не было, когда этот ответ был опубликован, но эта страница продолжает привлекать новых зрителей.)
Если вы хотите оставить комментарий, Android Studio
просто нажмите:
Ctrl+ /в Windows / Linux
Cmd+ /на Mac.
Это работает как в XML-файлах, strings.xml
так и в кодовых файлах MainActivity.java
.
Вы также можете добавить комментарий, нажав Ctrl + Shift + / и Shift + / для одной строки.
Невероятно, но в 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>
Unexpected text found in layout file: ...
.
Из записки Федерико Каллоки:
Также вы не можете использовать их внутри тегов
Средства; Вы должны поместить комментарий вверху или внизу файла - все места, куда вы действительно хотите добавить комментарии, находятся по крайней мере внутри тега макета верхнего уровня.