Android 图片数组定义和读取

位置:packages/apps/Launcher2

1、图片数组定义、资源读取

如果有多张图片,这些图片的使用与顺序无关,可以采取这种方式。

drawable-nodpi中有3张图片,wallpaper_1.jpg、wallpaper_2.jpg、wallpaper_3.jpg

XML中定义数组ID

<string-array>
   <item>wallpaper_1</item>
   <item>wallpaper_2</item>
   <item>wallpaper_3</item>
</string-array>

Java代码获取图片资源ID

final Resources resources = context.getResources();
final String packageName = resources.getResourcePackageName(R.array.wallpaper);

String[] wallPaperNames = resources.getStringArray(R.array.wallpaper);

for(String wallPaperName : wallPaperNames){
   //图片资源ID
   int res = resources.getIdentifier(wallPaperName, "drawable", packageName);
}

注:context.getPackageName会返回original-package,resources.getPackageName会返回真正的包路径。