您的位置:首页 > 移动开发 > Android开发

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

2014-05-18 21:33 281 查看
在很多应用中都需要用到这个轮播图片。

主要有以下的方法

一:直接使用ViewPager组件

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

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

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

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

<span style="font-size:18px;">@Override
protected 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();
}

@Override
protected 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: