2

我正在寻找一种方法来记录布局文件以提高其可重用性。我想要的是像这样在生成的 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 fe 找到文档时可用aView.findViewById(R.id.the_id_that_is_documented)
4

1 回答 1

0

顺便说一句,我发现了部分响应:对于 id,如果在资源文件(in)中定义了 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


编辑:这是布局文件的答案。事实上,它可能适用于一切(发现它在浏览 sdk 源代码res/values/public.xml)。这个 :

<?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;
    }
}
于 2013-09-12T14:51:39.117 回答