package zhanghaijiao.bawei.com.lunbotu_demo;
import android.annotation.SuppressLint;
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.google.gson.Gson;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import java.util.ArrayList;
import java.util.List;
import zhanghaijiao.bawei.com.lunbotu_demo.utils.MyTask;
import zhanghaijiao.bawei.com.lunbotu_demo.utils.NetStateUtil;
public class MainActivity extends AppCompatActivity {
private ViewPager viewPager;
private List<String> picUrls;
private DisplayImageOptions options;
private Handler myHanler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int position=viewPager.getCurrentItem();
position++;
viewPager.setCurrentItem(position);
sendEmptyMessageDelayed(0,1000);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = findViewById(R.id.vp);
options=new DisplayImageOptions.Builder()
.cacheInMemory(true)//使用内存缓存
.cacheOnDisk(false)//使用磁盘缓存
.bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式
.imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式
.build();
//1.判断网络状态
if(NetStateUtil.isConn(this)){
MyTask myTask=new MyTask(new MyTask.Icallbacks() {
@Override
public void updateUiByjson(String jsonstr) {
Gson gson=new Gson();
ResltData resltData = gson.fromJson(jsonstr, ResltData.class);
//图片数据源
List<ResltData.DataBean> data = resltData.getData();
//图片路径
picUrls = new ArrayList<>();
for (int i = 0; i < data.size(); i++) {
String icon = data.get(i).getIcon();
picUrls.add(icon);
}
//设置适配器
viewPager.setAdapter(new MyVpAdapter());
viewPager.setCurrentItem(5*10);//设置默认显示的页面,使之可以向左滑动
myHanler.sendEmptyMessageDelayed(0,1000);
}
});
myTask.execute("https://www.zhaoapi.cn/ad/getAd");
}else{
NetStateUtil.showNoNetWorkDlg(this);
}
}
//无限
class MyVpAdapter extends PagerAdapter{
@Override
public int getCount() {//无限页
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
//0~Inter.maxValue
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView=new ImageView(MainActivity.this);
//得到图片url路径
String s = picUrls.get(position%picUrls.size());
//异步加载图片
ImageLoader.getInstance().displayImage(s,imageView,options);
//添加到容器中
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// super.destroyItem(container, position, object);
container.removeView((View)object);
}
}
}
import android.annotation.SuppressLint;
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.google.gson.Gson;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import java.util.ArrayList;
import java.util.List;
import zhanghaijiao.bawei.com.lunbotu_demo.utils.MyTask;
import zhanghaijiao.bawei.com.lunbotu_demo.utils.NetStateUtil;
public class MainActivity extends AppCompatActivity {
private ViewPager viewPager;
private List<String> picUrls;
private DisplayImageOptions options;
private Handler myHanler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int position=viewPager.getCurrentItem();
position++;
viewPager.setCurrentItem(position);
sendEmptyMessageDelayed(0,1000);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = findViewById(R.id.vp);
options=new DisplayImageOptions.Builder()
.cacheInMemory(true)//使用内存缓存
.cacheOnDisk(false)//使用磁盘缓存
.bitmapConfig(Bitmap.Config.RGB_565)//设置图片色彩模式
.imageScaleType(ImageScaleType.EXACTLY)//设置图片的缩放模式
.build();
//1.判断网络状态
if(NetStateUtil.isConn(this)){
MyTask myTask=new MyTask(new MyTask.Icallbacks() {
@Override
public void updateUiByjson(String jsonstr) {
Gson gson=new Gson();
ResltData resltData = gson.fromJson(jsonstr, ResltData.class);
//图片数据源
List<ResltData.DataBean> data = resltData.getData();
//图片路径
picUrls = new ArrayList<>();
for (int i = 0; i < data.size(); i++) {
String icon = data.get(i).getIcon();
picUrls.add(icon);
}
//设置适配器
viewPager.setAdapter(new MyVpAdapter());
viewPager.setCurrentItem(5*10);//设置默认显示的页面,使之可以向左滑动
myHanler.sendEmptyMessageDelayed(0,1000);
}
});
myTask.execute("https://www.zhaoapi.cn/ad/getAd");
}else{
NetStateUtil.showNoNetWorkDlg(this);
}
}
//无限
class MyVpAdapter extends PagerAdapter{
@Override
public int getCount() {//无限页
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
//0~Inter.maxValue
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView=new ImageView(MainActivity.this);
//得到图片url路径
String s = picUrls.get(position%picUrls.size());
//异步加载图片
ImageLoader.getInstance().displayImage(s,imageView,options);
//添加到容器中
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// super.destroyItem(container, position, object);
container.removeView((View)object);
}
}
}