如何使用循环负荷ID的多个可绘制?(How to load multiple drawables f

2019-09-18 09:03发布

必须有一种方法,通过这个代码循环:

private void loadSprites() {
    this.sprites[0] = BitmapFactory.decodeResource(getResources(), R.drawable.ic_boom01);
    this.sprites[1] = BitmapFactory.decodeResource(getResources(), R.drawable.ic_boom02);
    this.sprites[2] = BitmapFactory.decodeResource(getResources(), R.drawable.ic_boom03);
    this.sprites[3] = BitmapFactory.decodeResource(getResources(), R.drawable.ic_boom04);
    this.sprites[4] = BitmapFactory.decodeResource(getResources(), R.drawable.ic_boom05);
    this.sprites[5] = BitmapFactory.decodeResource(getResources(), R.drawable.ic_boom06);
    this.sprites[6] = BitmapFactory.decodeResource(getResources(), R.drawable.ic_boom07);
}

谢谢!

Answer 1:

你应该把你的图片在资产的文件夹。 从他们的,你可以通过它们的文件名来访问它们。 见http://developer.android.com/reference/android/content/res/AssetManager.html 。



Answer 2:

如果我理解你的问题,你想要的东西一样,

int[] drawables = {R.drawable.ic_boom01,R.drawable.ic_boom02,R.drawable.ic_boom03,R.drawable.ic_boom04,R.drawable.ic_boom05,R.drawable.ic_boom06,R.drawable.ic_boom07}


private void loadSprites() {
for(int i=0; i<this.sprites.length; i++)
    this.sprites[i] = BitmapFactory.decodeResource(getResources(), drawables[i]);
}


Answer 3:

请看看对于下面的代码。

首先要int数组

int[] mImgArray = { R.drawable.ic_boom01, R.drawable.ic_boom02,
            R.drawable.ic_boom03, R.drawable.ic_boom04, R.drawable.ic_boom05,
            R.drawable.ic_boom06, R.drawable.ic_boom07 };

或设置使用以下代码此图片的ImageView

mImgView1.setImageResource(mImgArray[0]);

您可以将此图像直接转换为位图并存储到使用下面的代码位图阵列。

Bitmap mBmpArray=new Bitmap[mImgArray.length];
for(int i=0; i<mImgArray.length; i++)
    mBmpArray[i] = BitmapFactory.decodeResource(getResources(), mImgArray[i]);
}


Answer 4:

你可以做一个简单的for循环..并且从第一ID开始,在每个循环加1吧..虽然我不建议你做这个..



文章来源: How to load multiple drawables from id using a loop?