2011-11-18 51 views
1

我有一個圖庫小部件,它允許用戶從我提供的各種圖像中進行選擇。由於屏幕分辨率不同,我在不同的可繪製文件夾中有不同大小的圖像。例如,drawable-large具有1280x800版本的圖像,drawable normal具有480x320。這是因爲一旦選定所有分辨率,圖像看起來都很好。從Android中的特定的可繪製文件夾中選擇圖像

我遇到的問題是,大圖片上的圖庫小部件最終會使用1280x800版本的圖像來填充小部件。隨着這些圖像中的大約6,VM堆內存變得太大,應用程序停止工作。

有什麼辦法強制從特定的可繪製文件夾加載圖像?

我知道我可以通過向我的文件夾添加額外的圖像來輕鬆解決問題,但我不想過多地增加我的應用程序的大小。

回答

2

您可以創建別名到你的資源,看http://developer.android.com/guide/topics/resources/providing-resources.html#AliasResources

然後你可以把那些在一個地方使用多種分辨率所有的庫圖像,從而不會在你的文件夾資源的重複。

+1

如果我理解正確,我會將xml文件放在drawable-large中,這些文件在我的drawable-normal文件夾中引用了圖像? – Wozza

+0

好的,我解決了這個問題。在drawable-normal中,我將圖像重命名爲' thumb',併爲每個圖像創建了一個xml,文件名爲' .xml'。在XML裏面我有'android:src =「@ drawable/ thumb」'。通過這種方式,我可以使用對' thumb'的引用來填充圖庫小部件。一旦圖像被選中,我可以簡單地參考圖像,並接收正確的大小圖像。感謝您的幫助Emmanuel – Wozza

+0

這不提供解決不明確的資源。如果通過多個環境文件夾存在多個版本,則無法引用特定的解析資源,因爲在別名中引用它時會有不明確的地方。然後再次發生這種情況可能是系統限制,因爲在安裝期間(由設備),Android有機會丟棄不受支持的資源文件夾, – leRobot

相關問題