2011-04-16 86 views
23

我需要在我的窗口小部件使用以下资源:有没有什么办法可以在我的应用程序中使用不公开的android资源?

  • pressed_application_background_static
  • focused_application_background_static

我希望这些资源的使用将让我有标准的Android和绿色橙色背景HTC。

但他们都没有公开,所以

android:drawable="@android:drawable/pressed_application_background_static" 

不允许使用。还有什么方法可以使用它们吗?

回答

3

浏览可绘制的sdk并将其复制到本地res/drawable文件夹中。它可能是一个XML文件,但如果你搜索“pressed应用背景静态”,你应该可以毫无困难地找到它。

+0

这就是我已经做的 - 但这不是我所期待的。采用这种方法,所有设备上的颜色都将始终如一。但是我需要在HTC和Orange上使用标准Android。这就是为什么我想参考标准资源。 – 2011-04-16 09:38:42

+0

你如何区分HTC Android和普通Android? – techiServices 2011-04-16 09:49:10

+0

我不知道要区分它们,所以我期望如果我使用标准资源('@android:drawable /'),那么HTC和纯Android上将使用不同的资源。 – 2011-04-16 10:01:19

44

您可以参考他们这样

android:drawable="@*android:drawable/pressed_application_background_static" 

,但不推荐,因为私营部门的资源有可能在将来被重命名或删除。

+2

明星(*)是什么意思? – 2011-07-16 12:29:22

+4

它允许您访问私人资源。我猜这是为了警告你。你可以使用@android:drawable而不用担心,但是当使用@ * android:drawable时,你应该意识到它不能保证在那里,所以你自己承担风险。 – Andikki 2011-07-21 12:21:03

+0

当使用最新的SDK进行此操作时,我收到错误消息“非法资源引用:@ * android资源是私有的,并不总是存在的” – Jules 2014-11-17 08:54:26

相关问题