• 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();
  • 相关阅读:
    基本运算符和if判断
    数据类型
    Day 5内存管理,定义变量
    Day 4 变量常量
    编辑语言的分类
    硬盘工作原理
    计算机组成原理
    hdu5293 lca+dp+树状数组+时间戳
    hdu5290树形dp
    hdu5294 网络流+dijskstr
  • 原文地址:https://www.cnblogs.com/rainmer/p/4288717.html
Copyright © 2020-2023  润新知