2011-01-30 85 views
34

我有一個Android Library Project,其中包含styles.xml文件中定義的幾個樣式/主題。使用Android庫項目時如何正確引用xml資源?

通常情況下,在一些其他的XML佈局或清單文件中引用此風格的時候,你會只寫android:theme="@style/TheNameOfTheStyle"

當使用庫項目,如何依賴項目現在正確引用的風格?只是把它作爲android:theme="@style/TheNameOfTheStyle"給我一個錯誤,說沒有找到匹配該名稱的資源。

我想這同樣的問題適用於,@color等

感謝

其他參考喜歡@string

編輯:好了,所以看起來你想引用它就像正常的,但Eclipse中的控制檯給我這個錯誤:

Error: No resource found that matches the given name (at 'theme' with value '@style/ThemeName').

(捂臉)編輯

我只需要在Eclipse中「清理項目」。現在它正在工作。

+0

在Android的書我讀它說你可以/應該將其他資源引用爲@ [packagename。] type/id,如果當前應用程序包被忽略,則包名稱將被忽略,並且您可以使用庫項目的頁面名稱。但是,它並不適用於我,也沒有清理項目和重建:-( – 2012-10-08 09:08:03

+0

@Andrew你不需要像這樣放入包名,如果資源在你的庫項目中,你可以參考它通常,如果它是在自己的項目 – cottonBallPaws 2012-10-08 18:52:58

回答

15

其重要的建設增加資源(或者只是有自動構建上)和清潔項目後,該項目有助於大部分的時間。當「出現問題」出錯時重新啓動Eclipse也是一個好主意。

還要注意的是Android的合併的的recources,所以最後的項目,是打造「贏」這個名字。出於這個原因,以某種方式爲所有資源加上前綴是個好主意。

2

我只是碰到了同樣的問題,但是在Eclipse清潔沒有工作,直到我同時設置庫項目和常規項目有一個匹配:目標構建屬性。

0

我剛剛在Android Studio中遇到了這個問題。看起來Android Studio沒有意識到我的庫項目是一個庫,儘管project.properties聲明瞭android.library = true。

我通過檢查項目結構的「被庫」複選框,修復了這個問題。

enter image description here

3

我用的IntelliJ什麼工作對我來說是正常參考資源,以確保庫添加爲項目的依賴