package com.baway.adapter;
import android.content.Context;
import android.media.Image;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
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.TextView;
import com.baway.activity.R;
import com.baway.pojo.LunboBean;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
public class MyPagerAdapter extends PagerAdapter{
Context context;
List<LunboBean.DataBean> list;
List<ImageView> pointList;
Handler handler;
TextView lun_page;
TextView lun_title;
private ImageView img;
private int CODE_START=1;
public MyPagerAdapter(Context context, List<LunboBean.DataBean> list, List<ImageView> pointList, Handler handler, TextView lun_page,TextView lun_title) {
this.context = context;
this.list = list;
this.pointList = pointList;
this.handler = handler;
this.lun_page = lun_page;
this.lun_title = lun_title;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view==object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
img = new ImageView(context);
img.setScaleType(ImageView.ScaleType.FIT_XY);
String icon = list.get(position%list.size()).getIcon();
ImageLoader.getInstance().displayImage(icon,img);
container.addView(img);
return img;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View)object);
}
@Override
public void setPrimaryItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
changePosition(position%list.size());
lun_title.setText(list.get(position%list.size()).getTitle());
lun_page.setText(position%list.size()+1+"/"+list.size());
img.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
handler.removeCallbacksAndMessages(null);
break;
case MotionEvent.ACTION_UP:
handler.sendEmptyMessageDelayed(CODE_START,3000);
break;
case MotionEvent.ACTION_CANCEL:
handler.sendEmptyMessageDelayed(CODE_START,3000);
break;
case MotionEvent.ACTION_MOVE:
handler.removeCallbacksAndMessages(null);
break;
}
return true;
}
});
}
private void changePosition(int i) {
for (int j = 0; j <list.size(); j++) {
if (i==j){
pointList.get(j).setImageResource(R.drawable.shpae_point_red);
}else{
pointList.get(j).setImageResource(R.drawable.shape_point_gray);
}
}
}
}
import android.content.Context;
import android.media.Image;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.v4.app.FragmentActivity;
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.TextView;
import com.baway.activity.R;
import com.baway.pojo.LunboBean;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.List;
public class MyPagerAdapter extends PagerAdapter{
Context context;
List<LunboBean.DataBean> list;
List<ImageView> pointList;
Handler handler;
TextView lun_page;
TextView lun_title;
private ImageView img;
private int CODE_START=1;
public MyPagerAdapter(Context context, List<LunboBean.DataBean> list, List<ImageView> pointList, Handler handler, TextView lun_page,TextView lun_title) {
this.context = context;
this.list = list;
this.pointList = pointList;
this.handler = handler;
this.lun_page = lun_page;
this.lun_title = lun_title;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view==object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
img = new ImageView(context);
img.setScaleType(ImageView.ScaleType.FIT_XY);
String icon = list.get(position%list.size()).getIcon();
ImageLoader.getInstance().displayImage(icon,img);
container.addView(img);
return img;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View)object);
}
@Override
public void setPrimaryItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
changePosition(position%list.size());
lun_title.setText(list.get(position%list.size()).getTitle());
lun_page.setText(position%list.size()+1+"/"+list.size());
img.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
handler.removeCallbacksAndMessages(null);
break;
case MotionEvent.ACTION_UP:
handler.sendEmptyMessageDelayed(CODE_START,3000);
break;
case MotionEvent.ACTION_CANCEL:
handler.sendEmptyMessageDelayed(CODE_START,3000);
break;
case MotionEvent.ACTION_MOVE:
handler.removeCallbacksAndMessages(null);
break;
}
return true;
}
});
}
private void changePosition(int i) {
for (int j = 0; j <list.size(); j++) {
if (i==j){
pointList.get(j).setImageResource(R.drawable.shpae_point_red);
}else{
pointList.get(j).setImageResource(R.drawable.shape_point_gray);
}
}
}
}