Android遍历某个文件夹的图片并实现滑动查看的的Gallery
2012-06-26 21:37
417 查看
关键代码一个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+GridView实现图片预览功能(附demo源码下载)
- android Gallery组件实现的iPhone图片滑动效果实例
- Android ViewPager 实现图片左右滑动查看
- Android 布局手势缩放,可滑动查看,实现类似Imgview图片缩放效果
- Android进阶:实现android系统自带查看照片动画效果 类似Gallery手势滑动
- 使用Android ViewPager与PhotoView实现图片滑动查看
- Android ViewPager 实现图片左右滑动查看
- (转)Android 模仿淘宝滑动查看图片的效果 Gallery + ImageSwitcher
- android 拖拉图片 Gallery 用SimpleAdater实现
- Android 实现Gallery左对齐,选中Item不滑动效果
- android Gallery做图片滚动,每次滑动翻一页
- Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
- Android UI控件之Gallery +GridView实现图片与小圆点同步变化
- Android利用gallery实现图片连动的效果
- Android实现局部图片滑动指引效果
- QT实现遍历文件夹图片文件
- 【Android基础知识】使用Gallery和ImageSwitcher实现图片轮播效果
- Android 使用Gallery组件实现图片播放预览
- Android图片处理教程之全景查看效果实现