你的位置:首页 > 软件开发 > 操作系统 > viewPager+Handler+Timer简单实现广告轮播效果

viewPager+Handler+Timer简单实现广告轮播效果

发布时间:2015-09-02 18:00:05
基本思想是在Avtivity中放一个ViewPager,然后通过监听去实现联动效果,代码理由详细的解释,我就不说了。  MainActivity.java 1 package com.example.administrator.imageviewlunbodemo; 2 3 i ...

viewPager+Handler+Timer简单实现广告轮播效果

     基本思想是在Avtivity中放一个ViewPager,然后通过监听去实现联动效果,代码理由详细的解释,我就不说了。

  MainActivity.java

 1 package com.example.administrator.imageviewlunbodemo; 2  3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.os.Handler; 6 import android.os.Message; 7 import android.support.v4.view.PagerAdapter; 8 import android.support.v4.view.ViewPager; 9 import android.view.LayoutInflater; 10 import android.view.View; 11 import android.view.ViewGroup; 12 import android.widget.ImageView; 13  14 import java.util.ArrayList; 15 import java.util.List; 16 import java.util.Timer; 17 import java.util.TimerTask; 18  19  20 public class MainActivity extends Activity { 21  22   private ViewPager myViewPager; 23   private List<View> myContiontar = new ArrayList<>();  //viewPager的数据源 24   private PagerAdapter myPagerAdapter;  //有了数据源,必然要有适配器 25  26   private ImageView imageView1; 27   private ImageView imageView2; 28   private ImageView imageView3; 29   private ImageView imageView4; 30   private ImageView imageView5; 31  32   private Timer mTimer; 33   private Timertask mTimertask; 34  35   @Override 36   protected void onCreate(Bundle savedInstanceState) { 37     super.onCreate(savedInstanceState); 38     setContentView(R.layout.activity_main); 39  40     initViews(); //初始化各种View 41  42     myViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { 43       @Override 44       public void onPageScrolled(int i, float v, int i2) { 45  46       } 47  48       @Override 49       public void onPageSelected(int i) { 50         selectImageId(i); 51       } 52  53       @Override 54       public void onPageScrollStateChanged(int i) { 55  56       } 57     }); 58  59     mTimertask = new Timertask(); 60     mTimer = new Timer(); 61     mTimer.schedule(mTimertask,0,2000); 62 //    //启动时选择第一张图片 63 //    imageView1.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_select); 64  65  66   } 67  68   //初始化各种View 69   private void initViews(){ 70     // 先将 71     myViewPager = (ViewPager) findViewById(R.id.viewpager); 72  73     imageView1 = (ImageView) findViewById(R.id.first_fragment_down_image1); 74     imageView2 = (ImageView) findViewById(R.id.first_fragment_down_image2); 75     imageView3 = (ImageView) findViewById(R.id.first_fragment_down_image3); 76     imageView4 = (ImageView) findViewById(R.id.first_fragment_down_image4); 77     imageView5 = (ImageView) findViewById(R.id.first_fragment_down_image5); 78  79     //建立五个view 去获得四个ImageView 80     View view1 = LayoutInflater.from(getApplicationContext()).inflate(R.layout.lunbo_image1, null); 81     View view2 = LayoutInflater.from(getApplicationContext()).inflate(R.layout.lunbo_image2,null); 82     View view3 = LayoutInflater.from(getApplicationContext()).inflate(R.layout.lunbo_image3, null); 83     View view4 = LayoutInflater.from(getApplicationContext()).inflate(R.layout.lunbo_image4, null); 84     View view5 = LayoutInflater.from(getApplicationContext()).inflate(R.layout.lunbo_image5,null); 85     //加入到容器里面 86     myContiontar.add(view1); 87     myContiontar.add(view2); 88     myContiontar.add(view3); 89     myContiontar.add(view4); 90     myContiontar.add(view5); 91     //初始化 适配器 92     myPagerAdapter = new PagerAdapter() { 93       //返回显示多少项 94       @Override 95       public int getCount() { 96         return myContiontar.size(); 97       } 98  99       @Override100       public boolean isViewFromObject(View view, Object o) {101         return view == o;102       }103       //滑动切换时,移除当前组件104       @Override105       public void destroyItem(ViewGroup container, int position, Object object) {106         container.removeView(myContiontar.get(position));107       }108       //没次滑动时生成的组件109       @Override110       public Object instantiateItem(ViewGroup container, int position) {111         container.addView(myContiontar.get(position));112         return myContiontar.get(position);113       }114     };115     //设置适配器116     myViewPager.setAdapter(myPagerAdapter);117   }118 119   //选择那个图片120   private void selectImageId(int i){121     initImageBackGround();122     switch (i){123       case 0:124         imageView1.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_select);125         break;126       case 1:127         imageView2.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_select);128         break;129       case 2:130         imageView3.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_select);131         break;132       case 3:133         imageView4.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_select);134         break;135       case 4:136         imageView5.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_select);137         break;138     }139   }140   //初始化 所有Image的背景141   private void initImageBackGround(){142     imageView1.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_normal);143     imageView2.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_normal);144     imageView3.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_normal);145     imageView4.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_normal);146     imageView5.setBackgroundResource(R.drawable.wallet_coin_purse_guide_purse_dot_normal);147   }148 149   int count = 0;150   private Handler mhandler = new Handler(){151 152     @Override153     public void handleMessage(Message msg) {154       super.handleMessage(msg);155       if (msg.what == 0x111){156         //操作157         count++;158         myViewPager.setCurrentItem(count % 5);159       }160     }161   };162 163   //建立一个Timertask164   class Timertask extends TimerTask{165 166     @Override167     public void run() {168       mhandler.sendEmptyMessage(0x111); //发送空消息169     }170   }171 }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:viewPager+Handler+Timer简单实现广告轮播效果

关键词:ie

ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。