要引用大量图像,不希望对每个图像进行硬编码支持

时间:2011-04-21 20:41:41

标签: android

我需要在我的android项目中引用大约650个小图标。所有这些的总大小约为70 k / b,因此尺寸不是问题。

我正在构建的应用程序只列出了所有这些图标以及每个图标的标签。标签存储在一个String数组中,每个图标都有标签索引在其文件名中以便于参考(因此标签数组中的索引0与我的android项目的drawable文件夹中的文件p0.png协调)

这很好用,但问题是我可以在不使用R.class的情况下引用这些图像。 R类设置变量和所有内容,但是当我可以循环遍历它们并使用它们的文件名作为索引时,通过R类引用图像是很麻烦的。

有没有办法在不使用R.class的情况下访问这些图像?我也想避免使用SD卡,因为这些图像在SD卡中看起来很烦人。

建议?

2 个答案:

答案 0 :(得分:5)

将图标放入/assets目录并使用AssetManager访问它们。 assets目录中的资源不会在R文件中编入索引。

答案 1 :(得分:4)

资产方法肯定会有效,但缺点是您无法将图像分成单独的文件夹。使用提供的函数将使您能够遍历您的索引中的可绘制列表作为字符串值。

public int getId(String name) {
        Class<R.drawable> class = R.drawable.class;
        Field field;
        int i = 0;
        try {
            field = class.getField(name);
            i = field.getInt(field);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return  i;
    }

修改

为回答已接受的问题而道歉,接受我的发帖。