/**
* 装ImageView数组
*/
private ImageView[] mImageViews;
/**
* 图片资源
*/
private String[] imgIdArray;
@Override
public void onDestroyView() {
super.onDestroyView();
}
/**
* @author
*/
public class MyAdapter extends PagerAdapter {
@Override
public int getCount() {
int count = 0;
if (mImageViews != null) {
count = mImageViews.length;
}
return count;
// 设置成最大,使用户看不到边界
//
// if (mImageViews.length == 1) {
// return 1;
// } else {
// return Integer.MAX_VALUE;
// }
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(View container, int position, Object object) {
((ViewPager) container).removeView(mImageViews[position % mImageViews.length]);
}
/**
* 载入图片进去,用当前的position 除以 图片数组长度取余数是关键
*/
@Override
public Object instantiateItem(View container, int position) {
ImageView imageView = mImageViews[position % mImageViews.length];
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
if (imageView.getParent() != null) {
((ViewPager) imageView.getParent()).removeView(imageView);
}
((ViewPager) container).addView(imageView, 0);
return imageView;
}
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageSelected(int arg0) {
currentpage.setText(String.valueOf(arg0 + 1));
Log.i("0612", "arg0: " + arg0);
}
/**
* 从sd卡获取图片资源
*
* @return
*/
private List getImagePathFromSD() {
// 图片列表
imagePathList = new ArrayList();
// 得到sd卡内image文件夹的路径 File.separator(/)
String filePath = MainActivity.PATH + “/qlink/record_file/” + QLinkApp.getApplication().getLocalStorage().getAccountUid() + “/”
+ alarmtime + “/”;
if (filePath!=null) {
// 得到该路径文件夹下所有的文件
File fileAll = new File(filePath);
File[] files = fileAll.listFiles();
// 将所有的文件存入ArrayList中,并过滤所有图片格式的文件
for (int i = 0; i < files.length; i++) {
File file = files[i];
if (checkIsImageFile(file.getPath())) {
imagePathList.add(file.getPath());
}
}
}
// 返回得到的图片列表
return imagePathList;
}
/**
* 检查扩展名,得到图片格式的文件
*
* @param fName 文件名
* @return
*/
private boolean checkIsImageFile(String fName) {
boolean isImageFile = false;
// 获取扩展名
String FileEnd = fName.substring(fName.lastIndexOf(".") + 1,
fName.length()).toLowerCase();
if (FileEnd.equals("jpg") || FileEnd.equals("png") || FileEnd.equals("gif")
|| FileEnd.equals("jpeg") || FileEnd.equals("bmp")) {
isImageFile = true;
} else {
isImageFile = false;
}
return isImageFile;
}
private void initImage(List imagePathList) {
//将图片装载到数组中
mImageViews = new ImageView[imagePathList.size()];
for (int i = 0; i < mImageViews.length; i++) {
Activity activity = getActivity();
if (activity != null) {
ImageView imageView = new ImageView(activity);
mImageViews[i] = imageView;
Bitmap bitmap = BitmapFactory.decodeFile(imagePathList.get(i));
imageView.setImageBitmap(bitmap);
}
}
//设置Adapter
if (viewPager != null) {
viewPager.setAdapter(new MyAdapter());
//设置监听,主要是设置点点的背景
viewPager.setOnPageChangeListener(this);
//设置ViewPager的默认项, 设置为长度的100倍,这样子开始就能往左滑动
// viewPager.setCurrentItem(mImageViews.length*50+1);
viewPager.setCurrentItem(0);
}
totalpage.setText(String.valueOf(imagePathList.size()));
number.setVisibility(View.VISIBLE);
}