BannerDemo
来源:互联网 发布:彩票app源码下载 编辑:程序博客网 时间:2024/05/21 06:37
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);
}
}
阅读全文
0 0
- BannerDemo
- 无限轮播 bannerdemo
- 封装以后如何修改和得到属性
- cocos2dx-3.10 Cocos Studio 启动错误解决办法
- 生产树计数
- java实现通过归并排序计算数组逆数对个数
- python安装心得
- BannerDemo
- Android客户端之“微服私访”App的系统学习(四)使用ViewPager+Fragment实现Tab
- 学习akka之helloword
- 【NOI2017模拟6.3】子序列 矩阵乘法+DP
- Oracle11g安装之后,安装Plsql Developer登录下拉没有选项
- 简单描述QAbstractItemModel::dataChanged() 与 QAbstractItemModel::data() 的关系
- 运算符号
- Linux设备驱动之POLL机制简析
- Ubuntu16.04 安装jdk1.8.0_131并配置环境变量