Android:漫画APP开发笔记之从Assets本地读取图片

list为Assets下目录名

//本地读取
	 private ArrayList<PicListInfo> getImageFromAssetsFile(String list)  
	  {  
		 String test=list;
		 ArrayList<PicListInfo> newpiclistinfo = new ArrayList<PicListInfo>();
		 String[] list_image = null; 
		 try { 
		 //得到assets/list/目录下的所有文件的文件名,以便后面打开操作时使用 
		     list_image = this.getAssets().list(list); 
		 } catch (IOException e1) { 
		     // TODO Auto-generated catch block 
		     e1.printStackTrace(); 
		 } 
		 for(int i=0;i<list_image.length;++i) 
		 { 
		     InputStream open = null; 
		     try { 
		   String temp = list+"/"+list_image[i]; 
		   open = this.getAssets().open(temp); 
		   Bitmap bitmap = BitmapFactory.decodeStream(open);
		   PicListInfo pi = new PicListInfo();
           pi.setPicUrl(bitmap);
           newpiclistinfo.add(0,pi);
		   // Assign the bitmap to an ImageView in this layout 
		     } catch (IOException e) { 
		   e.printStackTrace(); 
		       } finally { 
		   if (open != null) { 
		     try { 
		       open.close(); 
		     } catch (IOException e) { 
		       e.printStackTrace(); 
		     } 
		   } 
		        } 
		 }
		 Collections.reverse(newpiclistinfo);
		 piclistinfo.addAll(newpiclistinfo);
		 sla.notifyDataSetChanged();
		return piclistinfo;	
	  }  
PicListAdapter.java

package com.cartoon.adapters;

import java.util.ArrayList;

import com.cartoon.R;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.MeasureSpec;
import android.view.ViewGroup;
import android.view.ViewGroup.MarginLayoutParams;
import android.view.WindowManager;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class PicListAdapter extends ArrayAdapter<PicListInfo>{
	
	public PicListAdapter(Context context, int textViewResourceId, ArrayList<PicListInfo> objects)
	{
		super(context, textViewResourceId, objects);
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		ViewHolder holder =null;
		View view;
		WindowManager wm = (WindowManager) getContext()
                .getSystemService(Context.WINDOW_SERVICE);

        int width = wm.getDefaultDisplay().getWidth();
        int height = wm.getDefaultDisplay().getHeight();
		if (convertView == null) {
			view = LayoutInflater.from(getContext()).inflate(R.layout.piclist_item, null);
			
			holder = new ViewHolder();
			holder.piclist_item = (ImageView)view.findViewById(R.id.piclist_item);     
	        //设置图片的位置
	      
			ViewGroup.LayoutParams margin = new ViewGroup.LayoutParams(
	        		holder.piclist_item.getLayoutParams());
	        RelativeLayout.LayoutParams layoutParams  = new RelativeLayout.LayoutParams(margin);
	        layoutParams.height = (int) (width*0.5677);//设置图片的高度
	        layoutParams.width = width; //设置图片的宽度
	        layoutParams.setMargins(15, 0, 15, 0);
	        holder.piclist_item.setLayoutParams(layoutParams);
	        holder.piclist_item.setScaleType(ImageView.ScaleType.FIT_START);
	        view.setTag(holder);
		} else {
			view = convertView;
			holder = (ViewHolder)convertView.getTag();
		}
		
        final PicListInfo singleoder = getItem(position);
        if (singleoder != null) {
			holder.piclist_item.setImageBitmap(singleoder.getPicUrl());
        }
		return view;
	}

	public class ViewHolder{
		public ImageView piclist_item;
	}
}

PicListInfo.java

package com.cartoon.adapters;

import android.graphics.Bitmap;

public class PicListInfo {
	private Bitmap PicUrl;   //图片地址
	//下面是上面属性的get和set方法

	public Bitmap getPicUrl() {
		return PicUrl;
	}

	public void setPicUrl(Bitmap picUrl) {
		PicUrl = picUrl;
	}
	
}



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值