我试图在我的项目中添加SlidingDrawer的源代码,我可以很容易地在grepCode中找到它。问题是代码不是编译的,而是对本地资源的引用,用于Ex。
R.styleable.SlidingDrawer_orientation我在GrepCode和GitHub的安卓存储库上都找不到。
在这种情况下,是否有人遇到过并设法解决了?谢谢。
发布于 2014-03-03 16:40:20
所以我只是尝试这样做,我也编译了与资源相关的错误。这些资源不能公开供android.R使用。正如先前回答的那样,有些资源被声明为内部/隐藏资源。
一旦导入了自己的frameworks_all.jar文件,我就可以看到它们,甚至可以构建自己的小SlidingDrawer类,只需将文件复制到自己的项目中即可。
这是一个很好的指南,让您开始了解/习惯使用Android的隐藏类和内部类的概念:令人惊叹的Android内部/隐藏API指南,它将使你的生活变得更好。
注意,这些属性似乎是隐藏的,而不是内部的,所以您只需要担心如何访问隐藏的组件。
不过,如果您感兴趣的话,android (android.R)的资源文件是专门在框架/base中编译的。您想要的属性似乎并不独立存在,即在框架基础中没有R.styleable.SlidingDrawer_orientation存在的xml文件。所以你找不到它。但是,有一个属性文件:framework/base/core/res/res/value/atts.xml,您可以找到以下属性的方向:
<!-- SlidingDrawer specific attributes. These attributes are used to configure
a SlidingDrawer from XML. -->
<declare-styleable name="SlidingDrawer">
<!-- Identifier for the child that represents the drawer's handle. -->
<attr name="handle" format="reference" />
<!-- Identifier for the child that represents the drawer's content. -->
<attr name="content" format="reference" />
<!-- Orientation of the SlidingDrawer. -->
<attr name="orientation" />
...看起来android标记了隐藏的所有可样式属性,因为整个部分都被公共代码模糊了。我不知道这个R文件是如何构造的,我需要深入了解更多的make文件才能找到答案。不管是哪种方式,结束fluff,重申您所需要做的就是访问内部/隐藏组件。
发布于 2014-02-26 13:46:03
R文件是根据文件夹/res下的资源文件自动生成的
阅读更多关于它的信息:http://developer.android.com/guide/topics/resources/providing-resources.html
因此,在本例中,您没有为SlidingDrawer_orientation...try定义的资源,以便从要复制的项目中在/res文件夹下查找相应的资源。Android操作系统库中的一些资源被声明为内部/私有的.因此您无法在代码中真正访问它们,如果您拥有适当的资源,您可以做的是复制它们。
https://stackoverflow.com/questions/22043167
复制相似问题