Android:漫画APP开发札记之从Assets本地读取图片
Android:漫画APP开发笔记之从Assets本地读取图片
PicListInfo.java
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; } }