2

我爲某些UI實用程序編寫了一個Android庫。我有一個返回ImageView的函數。但是,我的問題是,我希望可繪製圖像的資源將位於包含庫的項目中。我會解釋...具有通用資源的Android庫

我希望ImageView將始終採用可繪製的源名稱:R.drawable.ic_img_logo(和只有這個名字)。這個資源實際上不在圖書館裏。但是包含該庫的項目也將包含資源名稱R.drawable.ic_img_logo

我知道這個東西適用於id(視圖),你可以創建文件調用ids.xml並在文件中定義一些其他人可以使用它們的id,並且你會識別它們。
但我怎樣才能用drawables做到這一點?

回答

2

我找到了答案。您需要在庫中創建一個名爲drawables.xml的文件。然後在裏面寫:

<resource> 
    <item name="ic_img_logo" type="drawable" /> 
</resource> 

它製作假資源R.drawable.ic_img_logo。那麼如果包含該庫的項目有可繪製的叫做ic_img_logo。該庫能夠訪問這個drawable,因爲它將是相同的資源。

0

如果drawable不在庫中,那麼它不是資源。

另一個辦法從資產來訪問它,像這樣:

Drawable d = Drawable.createFromStream(getAssets().open(path_in_assets), null); 

path_in_assets將是一個常數。

0

你必須命名文件ic_img_logo