zoukankan      html  css  js  c++  java
  • ViewPager实现广告自动轮播核心代码(Handler+Thread)

    ViewPager数据源是4个线性布局,每个布局里面充满一张高度固定、宽度充满父布局的图片。有4个小圆点
    跟随ViewPager滑动。轮播原本我是用Timer+TimerTask的,但是问题颇多,很是郁闷。于是看了一下别人的一个仿网易新闻的例子,然后找到了相关代码阅读。原来可以使用while循环+线程休眠来实现重复执行一段代码。
    1
    private int currentAdsIndex=0; 2 private int viewsCount=4;//轮播广告图片数量 3 4 handler = new Handler() { 5 public void handleMessage(Message msg ) { 6 7 Toast. makeText(getActivity(), msg.what +"" , Toast.LENGTH_SHORT) 8 .show(); 9 adViewPager.setCurrentItem( msg. what); 10 }; 11 }; 12 13 14 15 new Thread(new Runnable() { 16 17 @Override 18 public void run() { 19 while ( true) { 20 try { 21 Thread. sleep(5000); 22 currentAdsIndex++; 23 if( currentAdsIndex > viewsCount-1) { 24 currentAdsIndex = 0; 25 } 26 handler.sendEmptyMessage( currentAdsIndex); 27 } catch (InterruptedException e) { 28 e.printStackTrace(); 29 } 30 } 31 } 32 }).start();
  • 相关阅读:
    随便写的,关于外部提交按钮
    thinkPHP--empey标签
    ramdajs库应用场景
    数组常用用法--map,filter,reduce
    接口签名
    四种常见的 POST 提交数据方式
    localhost、127.0.0.1和0.0.0.0和本机IP的区别
    ftp与sftp
    本地已有项目上传git
    github和gitlab比较
  • 原文地址:https://www.cnblogs.com/rainmer/p/4288717.html
Copyright © 2011-2022 走看看