package com.example.dell.androidstudio_workspace09.Adapter; import android.content.Context; import android.graphics.Bitmap; import android.support.v4.view.PagerAdapter; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.Toast; import com.example.dell.androidstudio_workspace09.Main3Activity; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.ImageScaleType; import java.util.List; import java.util.logging.Handler; /** * Created by DELL on 2018/5/2. */ public class MyImgAdapter extends PagerAdapter{ private List<String> imgs; private android.os.Handler handler; private Context context; private final DisplayImageOptions options; public MyImgAdapter(List<String> imgs, android.os.Handler handler, Context context) { this.imgs = imgs; this.handler = handler; this.context = context; //使用内存缓存 //使用磁盘缓存 //设置图片色彩模式 //设置图片的缩放模式 options = new DisplayImageOptions.Builder() .cacheInMemory(true)//使用内存缓存 .cacheOnDisk(true)//使用磁盘缓存 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式 .imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式 .build(); } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, final int position) { ImageView imageView = new ImageView(context); imageView.setScaleType(ImageView.ScaleType.FIT_XY); ImageLoader.getInstance().displayImage(imgs.get(position%imgs.size()),imageView,options); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(context, imgs.get(position%imgs.size()), Toast.LENGTH_SHORT).show(); } }); imageView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent motionEvent) { switch (motionEvent.getAction()){ //手指按下 case MotionEvent.ACTION_DOWN: handler.removeCallbacksAndMessages(null); break; case MotionEvent.ACTION_MOVE: handler.removeCallbacksAndMessages(null); break; case MotionEvent.ACTION_UP: Toast.makeText(context,"up",Toast.LENGTH_SHORT).show(); handler.sendEmptyMessageDelayed(1,2000); break; case MotionEvent.ACTION_CANCEL: Toast.makeText(context,"cancel",Toast.LENGTH_SHORT).show(); handler.sendEmptyMessageDelayed(1,2000); break; } return true; } }); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } }
轮播图触摸监听事件
猜你喜欢
转载自blog.csdn.net/gaoyiranblog/article/details/80185194
今日推荐
周排行