Android应用开发---轮播图片

来源:互联网 发布:网络卫星电视 编辑:程序博客网 时间:2024/05/21 18:35

在很多应用中都需要用到这个轮播图片。

主要有以下的方法

一:直接使用ViewPager组件

1: 在布局文件中使用ViewPager空间,设置指示器的放置区域空间的ViewGroup

2: 在代码中动态增加图片ImageView和指示的view,分别放在一个ArrayList中存储

3: 自定义PagerAdapter,来实现返回图片View的功能

4: 在当前Activity, onStart和onStop的时候分别启动和关闭任务,代码如下,也可以在

<span style="font-size:18px;">@Overrideprotected void onStart() {scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();//新的线程,单线程池scheduledExecutorService.scheduleAtFixedRate(new ScrollTask(), 1, 2, TimeUnit.SECONDS);//<span style="font-family: SimSun;">ScrollTask是每次执行的Runnable的类,在这里发送消息给handler来setCurrentItem,切换viewpager的view</span>super.onStart();}@Overrideprotected void onStop() {scheduledExecutorService.shutdown();//Activity停止的,结束切换, 如果不需要定时切换,不需要做这个任务super.onStop();}</span>
5: 在实现的OnPageChangeListener中,来对指示器的View进行更新。

6: 如果是Viewpager嵌套Viewpager,  这种也很常见,比如网易新闻

viewPager.getParent().requestDisallowInterceptTouchEvent(true);禁止父控件拦截Touch事件

如果直接父控件不是ViewPager,就再往上找找。

二:开源项目https://github.com/Trinea/android-auto-scroll-view-pager

这个的实现原理是重写了ViewPager

通过handler发送sendEmptyMessageDelayed的消息来实现定时切换

通过ViewPagerIndicator来实现切换指示器

详细的使用方法和原理可以去github中参看。


三:添加一个我的实现Demo

http://download.csdn.net/detail/lordlydragon/7381209

0 0
原创粉丝点击