从assets文件夹加载图像

Doc*_*Who 16 java android

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

int x[] = {
    R.drawable.ss,
    R.drawable.aa, R.drawable.sk,
    R.drawable.xx
};
Run Code Online (Sandbox Code Playgroud)

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

Lok*_*esh 26

您必须按图像读取图像,如下所示:

您可以使用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;
    }
Run Code Online (Sandbox Code Playgroud)


Sun*_*mar 6

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

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; 
}
Run Code Online (Sandbox Code Playgroud)