It's possible to create custom attributes that can be used for commenting/documentation purposes.
In the example below, a documentation:info
attribute is defined, with an example comment value:
<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>
Note that in this case, documentation.mycompany.com
is just a definition for the new custom XML namespace (of documentation
), and is thus just a unique URI string - it can be anything as long as it's unique. The documentation
to the right of the xmlns:
can also be anything - this works the same way that the android:
XML namespace is defined and used.
Using this format, any number of attributes can be created, such as documentation:info
, documentation:translation_notes
etc., along with a description value, the format being the same as any XML attribute.
In summary:
xmls:my_new_namespace
attribute to the root (top-level) XML element in the XML layout file. Set its value to a unique string<TextView my_new_namespace:my_new_doc_property="description" />