从资产文件夹加载图像

2022-09-03 04:13:50

我有一个Android应用程序,其中我在资产文件夹中有几张图片。现在我想制作一个图像数组。现在我的问题是:- 当我们的图像处于可绘制状态时,我们可以制作一个数组,如

int x[] = {
    R.drawable.ss,
    R.drawable.aa, R.drawable.sk,
    R.drawable.xx
};

等等。当我的图像在资产文件夹中时,我如何制作与上述相同的图像数组。我想在类级别创建一个数组。


答案 1

您必须逐个图像地阅读,如下所示:

您可以使用 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;
    }

答案 2

如果您的图像存储在资产目录中的图像文件夹中,那么您可以获取图像列表

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; 
}

推荐