我正在寻找一种记录布局文件以提高其可重用性的方法。我想要的是像这样在生成的 R 文件中生成 javadoc 的东西。
我知道使用<declare-styleable>
时可以这样做。这:
<declare-styleable name="myStyleable">
<!-- Some comment -->
<attr name="someAttr" format"color" />
</declare-styleable>
产生我想为布局文件获得的输出,但没有成功:
public final class R {
/** Some comment */
public static final int someAttr...
}
有人知道实现这一目标的方法吗?我休息在:
- 记录布局文件,以便在使用R.layout.my_layout时提供文档
- 记录文件的特定元素,以便在通过 id f.e 查找文档时可用。
aView.findViewById(R.id.the_id_that_is_documented)
顺便说一下,我找到了部分响应: 对于 ids,如果在资源文件中定义了 id(以 res/values
为单位),则可以添加注释:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- This is a comment -->
<item name="myId" type="id"></item>
</resources>
将在 R.class 中产生此结果:
public final class R {
public static final class id {
/** This is a comment
*/
public static int myId=0x7f050007;
}
如果您使用@+id/some_cute_id
,这将不直接在布局文件中工作
编辑 :这是布局文件的答案。事实上,它可能适用于所有内容(发现它在res/values/public.xml
中浏览 sdk 源代码)。这:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--
* This layout contains a list that enables to choose a bluetooth device to pair with among paired ones -->
<public type="layout" name="devices_choose" id="0x7f030005" />
</resources>
在 R 中生成此输出:
public final class R {
public static class layout {
/**
* This layout contains a list that enables to choose a bluetooth device to pair with among paired ones
*/
public static final int devices_choose=0x7f030005;
}
}