从资产文件夹加载图像
我有一个Android应用程序,其中我在资产文件夹中有几张图片。现在我想制作一个图像数组。现在我的问题是:- 当我们的图像处于可绘制状态时,我们可以制作一个数组,如
int x[] = {
R.drawable.ss,
R.drawable.aa, R.drawable.sk,
R.drawable.xx
};
等等。当我的图像在资产文件夹中时,我如何制作与上述相同的图像数组。我想在类级别创建一个数组。
我有一个Android应用程序,其中我在资产文件夹中有几张图片。现在我想制作一个图像数组。现在我的问题是:- 当我们的图像处于可绘制状态时,我们可以制作一个数组,如
int x[] = {
R.drawable.ss,
R.drawable.aa, R.drawable.sk,
R.drawable.xx
};
等等。当我的图像在资产文件夹中时,我如何制作与上述相同的图像数组。我想在类级别创建一个数组。
您必须逐个图像地阅读,如下所示:
您可以使用 AssetManager 通过其 open() 方法获取 InputStream,然后使用 BitmapFactory 的 decodeStream() 方法来获取 Bitmap。
private Bitmap getBitmapFromAsset(String strName)
{
AssetManager assetManager = getAssets();
InputStream istr = null;
try {
istr = assetManager.open(strName);
} catch (IOException e) {
e.printStackTrace();
}
Bitmap bitmap = BitmapFactory.decodeStream(istr);
return bitmap;
}
如果您的图像存储在资产目录中的图像文件夹中,那么您可以获取图像列表
private List<String> getImage(Context context) throws IOException {
AssetManager assetManager = context.getAssets();
String[] files = assetManager.list("image");
List<String> it = Arrays.asList(files);
return it;
}