private void changePicture(int stageIndex){
try{
iv=(ImageView) findViewById(R.id.imageView2);
Picture picture=new Picture();
String v =picture.getPicFileName();
InputStream ims = getAssets().open(v);
Drawable d = Drawable.createFromStream(ims, null);
iv.setImageDrawable(d);
}catch(IOException ex){
return;
}
}
我想从/asset
文件夹中加载一个图像列表,所以我写了这个函数,但它没有用。有人能帮助我吗?
答案 0 :(得分:4)
如果您的图像存储在资产目录的image
文件夹中,则列表可以显示如下
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;
}
答案 1 :(得分:0)
Bitmap bm;
bm = getBitmapFromAsset("images" + File.separator + image.trim());
System.out.println("bmh==>"+bm.getHeight()+" "+"bmw==>"+bm.getWidth());
imageView.setImageBitmap(bm);
/**
* Retrieves Bitmap from Asset
* @param strName
* @return
* @throws IOException
*/
private Bitmap getBitmapFromAsset(String strName) throws IOException {
AssetManager assetManager = getAssets();
InputStream istr = assetManager.open(strName);
Bitmap bitmap = BitmapFactory.decodeStream(istr);
istr.close();
return bitmap;
}
在循环中尝试上面的代码并将所有位图保存在位图或arraylist数组中。
注意:在资产文件夹中创建一个文件夹 images ,并将所有图像存储在该文件夹中。
图片:这是图片的名称。