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();
时间: 2024-09-30 16:31:57

ViewPager实现广告自动轮播核心代码(Handler+Thread)的相关文章

Viewpager(上)--广告自动轮播

本例子是通过ViewPager来实现广告自动轮播,并且实现小圆点的显示和点击监听等功能,算是比较实用的功能了. 此例子可自动播放.滑动和位置的随意调整,比较灵活,原项目中是添加了三级缓存的,不过想之后单写一个缓存的就先拿图片做了个DEMO. 如有什么好的建议,请大家提出来,共同进步.. 效果图: 代码结构:主要就是3个文件,主类.viewpager适配器.页面的xml布局 原理网上有很多,所以直接在代码上写比较详细的注释,就不多说了- - 主类 <span style="font-size

广告自动轮播(完美解决人为滑动后按顺序自动轮播)

在手机客户端上,广告的循环播放很是常见,在网上也看过一些Demo,好多写的不是太完整,人为不干预的情况下确实是按照顺序轮播,但是人为去滑动后,接下来的自动轮播不是按滑动后的currentposition播放的,而是按照手动滑动前position的位置跳跃播放的.闲暇之余,把这个问题简单的解决了一下,为后来者提供一些思路. ========================================================================================

Android 实现带指示器的自动轮播式ViewPager

前言 最近在做项目的时候,有个需求就是实现自动轮播式的ViewPager,最直观的例子就是知乎日报顶部的ViewPager,它内部有着好几个子view,每个一段时间便自动滑动到下一个item view,而底部的指示器也随之跟着改变.使用这种ViewPager的好处是在有限的空间内可以展示出多样化的信息.轮播式ViewPager广泛应用于各种应用内部,用于展示广告等.抱着学习和分享的目的,笔者把轮播式ViewPager写成了一个独立的控件,以方便以后的使用. 效果展示 话不多说,我们先来看看实现的

ViewPager + Handler 实现的图片自动轮播

首先上图看效果 我也是在网上看各种大牛们做的效果,很多都是自定义重写了一些控件来实现这个效果的.我把其中的一位大牛写的ViewPager的效果加上了Handler实现了自动轮播效果,在此做个笔记来以后温习使用! 自动轮播的核心代码如下: private final int AUTO_MSG = 1; private final int HANDLE_MSG = AUTO_MSG + 1; private static final int PHOTO_CHANGE_TIME = 1000;//定时

深度揭密轮播插件核心代码的实现过程

轮播效果在网页中用的很多,swiper是其中最有代表性的作品,它支持水平和竖直滑动,还有反弹效果,兼容移动端和pc端.当然代码量也是相当大的,单是js就有5300行(3.4.0的未缩版本),若不考虑代码利用率和加载速度直接就用了,在移动端比较慎重,比如京东(m.jd.com)的轮播就没有用它,而是自己实现了类似的功能,代码量很少的样子(格式化之后看起来二三百行左右的样子).那么这个功能如果自己来实现,要怎么做呢? 准备工作 1. 准备几张图片(我这里放了四张) 2. 搭建目录结构(html+cs

使用ViewPager实现自动轮播

很多APP中都实现了类似引导页的自动轮播,不由得想到昨天的引导页上修改一下代码实现轮播. 其实大体上只需要添加一个线程循环执行就可以了. 同样的先上图 直接上代码,注释都全的,我想这样更有利于理解. 先改了Adapter package com.example.nanchen.taketurnplaydemo; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.Vi

Viewpager图片自动轮播,网络图片加载,图片自动刷新

package com.teffy.viewpager; import java.util.ArrayList; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import android.annotation.SuppressLint; import android.app.Act

手把手教你用ViewPager自定义实现Banner轮播

手把手教你用ViewPager自定义实现Banner轮播 欢迎大家关注Android开源网络框架NoHttp:https://github.com/Y0LANDA/NoHttp 我们在实际开发中,很多App都会在做一个广告轮播器(可能是图片,可能是其他View),很多同学都是使用别人封装好的或者直接使用ViewPager自己来改,但是有人可能并不理解里面的原理,或者有人遇到了手势滑动冲突.我们今天就用150行代码实现一自定义的广告轮播器并不干扰原来View滑动事件. 本例代码源码及Demo传送门

jQuery图片插件自动轮播原理解析

经常看到项目要用到图片轮播效果,一般的操作流程都是先到网上找一个好看的JQuery图片轮播插件,然后看下demo,再配下参数.好了,关机下班回家 其余的就交给插件吧. 是不是感觉有了jQuery,世界变得那么美好呢. 本人最近用的一个插件是 jquery.carousel.js,官方网站是:http://richardscarrott.co.uk/posts/view/jquery-carousel-plugin 下面,我们来讨论一下图片轮播原理. 首先来个简单的demo 效果图如下: 这是个导