package com.bwie.bannerdemo;
import android.graphics.Bitmap;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.bwie.bannerdemo.utils.LoadImageAsyncTask;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity {
private ViewPager vp;
private List<String> imgeAddress = new ArrayList<String>();
private int index = 0;
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 0) {
int m = (int) msg.obj;
vp.setCurrentItem(m % imgeAddress.size());
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp = (ViewPager) findViewById(R.id.vp);
//准备好网络图片地址
imgeAddress.add("http://img.juhe.cn/cookbook/s/1/45_c25e0cedd2012f45.jpg");
imgeAddress.add("http://img.juhe.cn/cookbook/s/1/45_eb68327980f022dd.jpg");
imgeAddress.add("http://img.juhe.cn/cookbook/s/1/45_8e0cf83cb7306281.jpg");
vp.setAdapter(new MyAdapter());
autoPlay();
}
class MyAdapter extends PagerAdapter {
@Override
public int getCount() {
// return Integer.MAX_VALUE;
return imgeAddress.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
final ImageView imageView = new ImageView(getApplicationContext());
//imageView.setImageResource(R.mipmap.ic_launcher);
new LoadImageAsyncTask(new LoadImageAsyncTask.CallBackListener() {
@Override
public void callBack(Bitmap bitmap) {
if (bitmap != null) {
imageView.setImageBitmap(bitmap);
} else {
imageView.setImageResource(R.mipmap.ic_launcher);
}
}
}).execute(imgeAddress.get(position % imgeAddress.size()));
container.addView(imageView);
return imageView;
}
}
public void autoPlay() {
/* while (true) {
vp.setCurrentItem(index);
try {
new Thread().sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("index--------" + index);
index++;
}*/
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Message message = new Message();
message.what = 0;
message.obj = index;
System.out.println("index--------" + index);
handler.sendMessage(message);
index++;
}
}, 3000, 3000);
}
}
import android.graphics.Bitmap;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.bwie.bannerdemo.utils.LoadImageAsyncTask;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
public class MainActivity extends AppCompatActivity {
private ViewPager vp;
private List<String> imgeAddress = new ArrayList<String>();
private int index = 0;
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 0) {
int m = (int) msg.obj;
vp.setCurrentItem(m % imgeAddress.size());
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vp = (ViewPager) findViewById(R.id.vp);
//准备好网络图片地址
imgeAddress.add("http://img.juhe.cn/cookbook/s/1/45_c25e0cedd2012f45.jpg");
imgeAddress.add("http://img.juhe.cn/cookbook/s/1/45_eb68327980f022dd.jpg");
imgeAddress.add("http://img.juhe.cn/cookbook/s/1/45_8e0cf83cb7306281.jpg");
vp.setAdapter(new MyAdapter());
autoPlay();
}
class MyAdapter extends PagerAdapter {
@Override
public int getCount() {
// return Integer.MAX_VALUE;
return imgeAddress.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
final ImageView imageView = new ImageView(getApplicationContext());
//imageView.setImageResource(R.mipmap.ic_launcher);
new LoadImageAsyncTask(new LoadImageAsyncTask.CallBackListener() {
@Override
public void callBack(Bitmap bitmap) {
if (bitmap != null) {
imageView.setImageBitmap(bitmap);
} else {
imageView.setImageResource(R.mipmap.ic_launcher);
}
}
}).execute(imgeAddress.get(position % imgeAddress.size()));
container.addView(imageView);
return imageView;
}
}
public void autoPlay() {
/* while (true) {
vp.setCurrentItem(index);
try {
new Thread().sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("index--------" + index);
index++;
}*/
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
Message message = new Message();
message.what = 0;
message.obj = index;
System.out.println("index--------" + index);
handler.sendMessage(message);
index++;
}
}, 3000, 3000);
}
}