2011-04-16 34 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

相關問題