Android遍历某个文件夹的图片并实现滑动查看的的Gallery
2012-06-26 21:37
387 查看
关键代码一个adapter
package com.su.houses.utils; import android.content.Context; import android.content.res.TypedArray; import android.net.Uri; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; import com.su.houses.R; public class ImageAdapter extends BaseAdapter { private Context mContext; public String picpath; private String[] myImageNames; public ImageAdapter(Context c, String path) { mContext = c; picpath = path; myImageNames = FileUtil.getImageNames(picpath); } public int getCount() { return myImageNames.length; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } public long getItemId(int position) { // TODO Auto-generated method stub return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView = new ImageView(mContext); imageView.setImageURI(Uri.parse(picpath + "/" + myImageNames[position])); imageView.setLayoutParams(new Gallery.LayoutParams(800, 600)); imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); return imageView; } }
然后其中的一些方法
public static String[] getImageNames(String folderPath) { File file01 = new File(folderPath); String[] files01 = file01.list(); int imageFileNums = 0; for (int i = 0; i < files01.length; i++) { File file02 = new File(folderPath + "/" + files01[i]); if (!file02.isDirectory()) { if (isImageFile(file02.getName())) { imageFileNums++; } } } String[] files02 = new String[imageFileNums]; int j = 0; for (int i = 0; i < files01.length; i++) { File file02 = new File(folderPath + "/" + files01[i]); if (!file02.isDirectory()) { if (isImageFile(file02.getName())) { files02[j] = file02.getName(); j++; } } } return files02; } private static boolean isImageFile(String fileName) { String fileEnd = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length()); if (fileEnd.equalsIgnoreCase("jpg")) { return true; } else if (fileEnd.equalsIgnoreCase("png")) { return true; } else if (fileEnd.equalsIgnoreCase("bmp")) { return true; } else { return false; } }
然后在实例化adapter在界面的gallery显示
Gallery g = (Gallery) findViewById(R.id.house_gallery); g.setAdapter(new ImageAdapter(this,"/mnt/sdcard/k/a/"));
也可以添加listener
g.setOnItemSelectedListener(new OnItemSelectedListener() { // 选择图片的事件 public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long id) { // 获取当前图片文件名 currentImageName = myImageNames[position]; // 获取当前图片路径 currentImagePath = currentFolderPath + "/" + currentImageName; // 设置imageSwitcher的显示图片 } public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub }
相关文章推荐
- Android遍历某个文件夹的图片并实现滑动查看的的Gallery
- (转)Android 模仿淘宝滑动查看图片的效果 Gallery + ImageSwitcher
- Android编程滑动效果之Gallery+GridView实现图片预览功能(附demo源码下载)
- Android进阶:实现android系统自带查看照片动画效果 类似Gallery手势滑动
- Android 布局手势缩放,可滑动查看,实现类似Imgview图片缩放效果
- 使用Android ViewPager与PhotoView实现图片滑动查看
- Android ViewPager 实现图片左右滑动查看
- Android ViewPager 实现图片左右滑动查看
- android Gallery组件实现的iPhone图片滑动效果实例
- 在Android中使用加载器(Loader)来实现获取本机中的所有图片,并进行查看图片的效果
- android 实现 波纹效果+图片左右无限滑动缩放效果
- android imageswitcher gallery 根据数据库内图片名字进行查看/删除
- Android 仿美团网,探索使用ViewPager+GridView实现左右滑动查看更多分类的功能
- android Gallery实现异步加载图片
- android 拖拉图片 Gallery 用BaseAdapter实现
- Android ListActivity实现遍历文件列表,查看文档类文件
- Android textView展示html图片,实现图文混排,点击查看大图片
- android实现gallery一个一个滑动
- android之OnGestureListener实现图片的左右滑动
- android viewPager 实现图片无限循环滑动并带有进度的自定义布局