2

我为一些 UI 实用程序编写了一个 android 库。我有一个返回 ImageView 的函数。但是,我的问题是我希望可绘制图像的资源位于包含库的项目中。我会解释...

我希望 ImageView 将始终采用源名称的可绘制对象:(R.drawable.ic_img_logo并且只有这个名称)。该资源实际上不会在图书馆中。但是包含该库的项目也将包含具有资源名称的可绘制对象R.drawable.ic_img_logo

我知道这个东西与 id (视图)一起使用,您可以创建文件调用ids.xml并在文件中定义一些其他人可以使用的 id,您将识别它们。
但是我怎么能用drawables做到这一点?

4

3 回答 3

2

我找到了答案。您需要创建一个drawables.xml在库中调用的文件。然后在里面写:

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

它制造假资源R.drawable.ic_img_logo。然后,如果包含该库的项目具有 drawable 称为ic_img_logo. 该库能够访问此可绘制对象,因为它将是相同的资源。

于 2013-06-29T07:00:20.267 回答
0

如果可绘制对象不在库中,则它不是资源。

另一种方法是从资产中访问它,如下所示:

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

哪里path_in_assets是常数。

于 2013-06-28T21:49:54.640 回答
0

您必须将文件命名为 ic_img_logo

于 2013-06-28T21:51:30.563 回答