Android 布局 xml 中的注释

我想在布局 XML 文件中输入一些注释,我该怎么做呢?

196566 次浏览

XML 注释以 <!--开始,以 -->结束。

例如:

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

正如其他人所说,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" />

费德里科 · 卡洛卡(Federico Culloca)在笔记中写道:

此外,您不能在标签中使用它们

意思是: 你必须把注释放在文件的顶部或底部-所有你真正想要添加注释的地方至少在顶层布局标签内

万维网联盟(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网站上获得。

因此,您可以简单地在任何开始和结束标记之间添加您的注释。在 EclipseIDE 中,只需键入 <!--即可自动完成注释。然后可以在两者之间添加注释文本。

例如:

<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 "/>".

注释 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 字符串-只要它是唯一的,它可以是任何东西。xmlns:右边的 documentation也可以是任何东西——这与定义和使用 android: XML 名称空间的方法相同。

使用这种格式,可以创建任意数量的属性,如 documentation:infodocumentation:translation_notes等,以及描述值,其格式与任何 XML 属性相同。

总之:

  • xmls:my_new_namespace属性添加到 XML 布局文件中的根(顶级) XML 元素。将其值设置为唯一字符串
  • 在文件中的任何子 XML 元素下,使用新的名称空间和后面的任何单词来定义编译时忽略的注释标记,例如 <TextView my_new_namespace:my_new_doc_property="description" />

如果您想在 Android Studio中发表评论,请按:

Windows/Linux 下的 Ctrl + /

在 Mac 上使用 Cmd + /

这适用于诸如 strings.xml之类的 XML 文件以及诸如 MainActivity.java之类的代码文件。

有两种方法可以做到这一点

  1. "<!--"开始你的评论,然后以“ -->"”结束你的评论

    例子 <!-- my comment goes here -->

  2. 突出显示要注释的部分,然后按 CTRL + SHIFT +/

点击

窗口上的 ctrl + shift +/

命令 + 控制 +/

写下任何你想写的东西

还可以通过按 Ctrl + shift +/和 shift +/来添加注释。

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

令人难以置信的是,在2019年安卓工作室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>