在Android应用程序中导入多个图像

时间:2016-02-17 12:33:46

标签: android main-activity

如何在Android应用中导入多张图片?我可以将单个id分配给该图像包以使其从drawable中获取吗?建议我一个方法。

目前我只能在行布局中多次显示一个图像。以下是带图像的代码行:

  placeholder = BitmapFactory.decodeResource(getResources(), R.drawable.picture2);  

我应该为picture3,picture4,...等输入多行吗?

2 个答案:

答案 0 :(得分:0)

我能想到的最简单的方式:

int ids[] = new int[] {
    R.drawable.picture2,
    R.drawable.picture3,
    R.drawable.picture4
};

Bitmap bitmaps[] = new Bitmap[ids.length];

for(int i = 0; i < ids.length; i += 1){
    bitmaps[i] = BitmapFactory.decodeResource(getResources(), ids[i]);  
}

此外,您可以将其重新编写为提高模块性的功能。

public Bitmap[] loadBitmaps(int ids[]){
    Bitmap bitmaps[] = new Bitmap[ids.length];

    for(int i = 0; i < ids.length; i += 1){
        bitmaps[i] = BitmapFactory.decodeResource(getResources(), ids[i]);  
    }

    return bitmaps;
}

答案 1 :(得分:0)

而不是Drawable存储Assets中的所有图像,然后您可以通过传递名称来获取Image。在您的活动中添加以下功能。

private Bitmap getBitmapFromAsset(String paramString)
{
    Object localObject = getResources().getAssets();
    try
    {
        Bitmap ret = BitmapFactory.decodeStream(((AssetManager)localObject).open(paramString));
        return ret;
    }
    catch (IOException ex)
    {
        ex.printStackTrace();
    }
    return null;
}