基本信息
源码名称:广告轮播ViewPager+Glide加载网络图片+手动自动滑动
源码大小:2.58M
文件格式:.zip
开发语言:Java
更新时间:2016-09-30
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

package com.example.viewpagerdemo;

import java.util.ArrayList;
import java.util.List;

import com.bumptech.glide.Glide;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ImageView.ScaleType;


public class MainActivity extends Activity {
    private ViewPager viewpager;
    private ImageView dot1;
    private ImageView dot2;
    private ImageView dot3;
    private ImageView dot4;
    private String[] imgUrlArr;
    private List<ImageView> imgList;
    private Context context;
    private int num = 300;//起始位置300
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		context=this;
		initView();
		loadImg();
	}
	
	public void initView(){
		viewpager=(ViewPager) findViewById(R.id.mViewPager);
		dot1=(ImageView) findViewById(R.id.dot1);
		dot2=(ImageView) findViewById(R.id.dot2);
		dot3=(ImageView) findViewById(R.id.dot3);
		dot4=(ImageView) findViewById(R.id.dot4);
		imgUrlArr=new String[]{"http://fengshouguo.com/data/upload/mobile/special/s0/s0_05233785427198540.jpg",
                "http://fengshouguo.com/data/upload/mobile/special/s0/s0_05233870008759730.jpg",
                "http://fengshouguo.com/data/upload/mobile/special/s0/s0_05233785635319825.jpg",
                "http://fengshouguo.com/data/upload/mobile/special/s0/s0_05233786821255365.jpg"};
	   }
	public void loadImg(){
		imgList=new ArrayList<ImageView>();
		for(int i=0;i<imgUrlArr.length;i  ){
			ImageView imageView=new ImageView(context);
			//Glide加载网络图片
			Glide.with(context)
			     .load(imgUrlArr[i])
			     .into(imageView);
			//设置imageview占满整个ViewPager
			imageView.setScaleType(ScaleType.FIT_XY);
			imgList.add(imageView);
		}
        viewpager.setAdapter(new MyAdapter());
        viewpager.setOnPageChangeListener(new MyPagerChangeListener());
        viewpager.setCurrentItem(300);
		mHandler.postDelayed(mRunnable, 2000);
	}
	private Handler mHandler = new Handler();
	private Runnable mRunnable = new Runnable() {
		public void run() {
			// 每隔多长时间执行一次
			/**
			 * mHandler.postDelayed(mRunnable, 1000*PhoneConstans.TIMEVALUE);
			 */
			mHandler.postDelayed(mRunnable, 1000 * 3);
			num  ;
			viewHandler.sendEmptyMessage(num);
		}

	};
	
	private final Handler viewHandler = new Handler() {

		@Override
		public void handleMessage(Message msg) {
			
			viewpager.setCurrentItem(msg.what);
			super.handleMessage(msg);
		}

	};
	
	class MyPagerChangeListener implements OnPageChangeListener{

		@Override
		public void onPageScrollStateChanged(int arg0) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onPageScrolled(int arg0, float arg1, int arg2) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public void onPageSelected(int arg0) {
			num = arg0;
			arg0 = arg0 % imgList.size();
			switch (arg0) {
			case 0:
				dot1.setBackgroundResource(R.drawable.dot1);
				dot2.setBackgroundResource(R.drawable.dot2);
				dot3.setBackgroundResource(R.drawable.dot2);
				dot4.setBackgroundResource(R.drawable.dot2);
				break;
			case 1:
				dot1.setBackgroundResource(R.drawable.dot2);
				dot2.setBackgroundResource(R.drawable.dot1);
				dot3.setBackgroundResource(R.drawable.dot2);
				dot4.setBackgroundResource(R.drawable.dot2);
				break;
			case 2:
				dot1.setBackgroundResource(R.drawable.dot2);
				dot2.setBackgroundResource(R.drawable.dot2);
				dot3.setBackgroundResource(R.drawable.dot1);
				dot4.setBackgroundResource(R.drawable.dot2);
				break;
			case 3:
				dot1.setBackgroundResource(R.drawable.dot2);
				dot2.setBackgroundResource(R.drawable.dot2);
				dot3.setBackgroundResource(R.drawable.dot2);
				dot4.setBackgroundResource(R.drawable.dot1);
				break;
			default:
				break;
			}
			
		}

	}
	
	
	class MyAdapter extends PagerAdapter{
		
		@Override
		public int getCount() {
			return Integer.MAX_VALUE;
		}

		@Override
		public boolean isViewFromObject(View arg0, Object arg1) {
            
			return  arg0 == arg1;
		}

		@Override
		public Object instantiateItem(View container, int position) {
			try {
				((ViewPager) container).addView((View) imgList.get(position % imgList.size()),
						0);
			} catch (Exception e) {
			}

			return imgList.get(position % imgList.size());
		}
		
		@Override
		public void destroyItem(ViewGroup container, int position, Object object) {
			//container.removeView(list.get(position));
		}
		@Override
		public int getItemPosition(Object object) {
			return super.getItemPosition(object);
		}
		

	}
	
}