public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery_layout);
Gallery galler = (Gallery) findViewById(R.id.gallery1);
galler.setAdapter(new ImageAdapter(this,getSD()));
}
private List<String> getSD() {
List<String> it = new ArrayList<String>();
File mFile=new File("/sdcard/");
File[] mFiles = mFile.listFiles();
for(int i = 0;i<mFiles.length;i++){
File file=mFiles[i];
if(getImageFile(file.getPath()))
it.add(file.getPath());
}
return it;
}
private boolean getImageFile(String path) {
boolean re;
String end = path.substring(path.lastIndexOf(".") + 1, path.length()).toLowerCase();
if(end.equals("jpg")||end.equals("gif")||end.equals("png")||end.equals("jpeg")||end.equals("bmp")){
re = true;
}else{
re = false;
}
return re;
}
public class ImageAdapter extends BaseAdapter{
private Context mContext;
private List<String> mList;
int mGalleryItem;
public ImageAdapter(Context cont, List<String> sd) {
mContext = cont;
mList = sd;
}
public int getCount() {
return mList.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView image = new ImageView(mContext);
Bitmap bitmap = BitmapFactory.decodeFile(mList.get(position).toString());
image.setImageBitmap(bitmap);
image.setScaleType(ImageView.ScaleType.FIT_XY);
image.setLayoutParams(new Gallery.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
image.setBackgroundResource(mGalleryItem);
return image;
}
}
}