我有一系列的图形 -- icon1_0.png、icon1_1.png、icon1_2.png...、icon12_0.png、icon12_1.png、icon12_2.png -- 我想将它们与我的安卓应用程序。理想情况下,我认为我应该能够将它们作为资源加载,但资源 ID 设置为 Java 标识符。当然,java标识符不能在运行时组装。我必须请求 R.drawable.icon12_00,所以我无法设置循环
for(int icon=0;icon<12;icon++)
for(int frame=0;frame<3;frame++)
//syntax error obviously
BitmapFactory.decodeResource(getResources(), R.drawable."icon" + icon + "_" + frame + ".png");
那么有什么办法可以通过名称获取资源呢?更好的是,在资源系统之外是否有一种规范的方法可以将数据文件打包到 android 应用程序包中,以便我可以获取它们?
我正在考虑反射(reflection),但这对我来说似乎不是正确的解决方案。
最佳答案
从您的Context
(例如,Activity
)使用getResources().getIdentifier()
,但如果您要使用,请缓存结果它不止一次。 getIdentifier()
在 Resources
上实现.
关于android - 在Android上批量获取很多位图资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2129110/