2011-12-22 36 views
12

我想支持兩個Icon_Picker意圖:*任何*鏈接Android /繪圖圖形/資產的方式?

org.adw.launcher.icons.ACTION_PICK_ICON 

com.betterandroid.launcher2.icons.PICK_ICON_ACTION 

不幸的是ADW,轉到啓動和的LauncherPro尋找上述在/drawable或者使用意圖繪項目,或通過使用XML看起來在/drawable

舊的BetterAndroid意圖掃描/assets文件夾中的圖像。現在,我在爲了從XML提供一個繪製知道繪製資源的大招的:所以

<?xml version="1.0" encoding="UTF-8"?> 
<selector 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/com_aac_cachemate_demo_cachemate" /> 
</selector> 

,而不是提供一個圖形,我指向現有的圖形 - 適合不需要重複文件引用時相同的圖像,但具有不同的名稱/ ID。

我的問題:

1)是否有任何等效招引用/assets,而不是繪製時,將工作?

2)如果我要使用AssetManager來讀取資產並使其成爲可繪製的: a)他們可以通過意圖掃描這些可繪製對象嗎? b)無論如何,應用尺寸是否會不可避免地增加一倍? c)如何正確實施AssetManager以使其正常工作?例如:

sampleimage= BitmapFactory.decodeResource(context.getResources(), R.drawable.sampleimage); 

也許?或者從數組中可以有更好的選擇來getAsset()

我試圖實現不僅有圖像/drawable也莫名其妙地掛/assets這樣既意圖可以掃描並找到他們的GridView中可繪製和顯示,而無需複製圖形(把他們在資產和可繪製的文件夾。感謝您的幫助!

編輯:android: how to load xml file from assets directory?是一個非常有用的閱讀,但我不知道它完全排除我想要實現的任何/所有輸入

所以:看來我必須以另一種方式來做,如果它是工作的話。另一種方式)這意味着我需要將圖形存儲在assets文件夾中,然後使用AssetManager將它們存入drawable。有關如何做到這一點的任何建議?有沒有辦法在drawable文件夾中使用XML來引用資產?

因此,真正重要,我,如果我用AssetManager閱讀資產,使它們可繪製的問題:

1)他們將通過讀取這些繪項目的意向掃描?

2)無論如何,應用程序的大小不可避免地會增加兩倍嗎?

回答

1

有什麼等價的技巧可以在引用/ assets而不是drawable時起作用嗎?

不,對不起。

如果我用AssetManager閱讀資產,使它們可繪製

我要解釋爲意在創建Drawable Java對象。

a)他們可以通過意圖掃描這些可繪製對象嗎?

Intent s不「掃描drawables」不只是紙片寫信或子彈拍攝的人。因此,我不知道你在說什麼。此外,我懷疑能夠回答這個問題的唯一人是您感興趣的兩個第三方應用程序的開發人員。哎呀,這兩個Intent行爲似乎都沒有記錄 - 這是整個頁面的唯一頁面互聯網似乎提及com.betterandroid.launcher2.icons.PICK_ICON_ACTION,基於谷歌搜索 - 所以這些應用程序的作者完全有可能沒有在尋找你做你正在做的事情。

b)無論如何,應用尺寸難免會增加兩倍嗎?

如果「size」表示「磁盤大小」,那麼表示在運行時讀取內容不會增加磁盤空間。

c)我如何正確實施AssetManager以使其正常工作?在AssetManager

呼叫open()讓您的圖像上的InputStream,然後傳遞到BitmapFactory.decodeStream()