android - 在Android上批量获取很多位图资源

标签 android resources

我有一系列的图形 -- 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/

相关文章:

c# - 使垂直 ScrollViewer 不可见

c# - 使用字符串从资源文件中读取值

Android - 查询 SMS ContentProvider?

android - 是否有基于 Android 的 Google Glass 模拟器?

android - DependencyService.Get<T> 不返回正确的实例

android - youtube视频无法使用 Intent 工作,但可以使用浏览器工作

java - 将 CookieStore 转换为字符串 : pb with encode/decode value

java - 获取资源时出现 NullPointerException

java - 从 jar 读取资源未按预期工作

Android:命名资源