2014-02-11 50 views
1

我想弄清楚为什么Android开源项目中的某些布局文件无法从Android的R文件访问。我知道我可以使用的唯一布局资源是http://developer.android.com/reference/android/R.layout.html默认Android布局的可见性/可访问性

什么我不知道是为什么,这只是在开源项目布局的一个子集。例如,为什么activity_chooser_view_list_item无法访问。 https://github.com/android/platform_frameworks_base/blob/master/core/res/res/layout/activity_chooser_view_list_item.xml

为什么只能用于参考该项目的布局文件的子集?

回答

1

为什么只有在项目可供参考的布局文件的一个子集?

他们认为是SDK的一部分,唯一的问题。这与作为框架一部分的类和方法没有显着不同,但不是SDK的一部分,用@hide标记。

由于这些布局文件在Apache许可证2.0下发布,欢迎您的任何人复制到自己的项目中使用,受这些许可条款。

+0

我没有在https://github.com/android/platform_frameworks_base/blob/master/core/res/res/layout/activity_chooser_view_list_item.xml中的任何地方看到@hide注释,这是否意味着注释位于R存档自己? –

+0

@HamiltonBaker:对不起,我的意思是'@ hide'作为比喻。你会在框架中看到Java代码(例如'Activity'上的方法)。我不是Android源代码指示哪些资源在SDK中而不在其中的机制。 – CommonsWare

+0

它们可以在生成后在R文件中使用隐藏。 https://code.google.com/p/doclava/wiki/JavadocTags#@hide –