建设网站对企业的重要性,泰安集团网站建设流程,苏州网站建设网站建设,在discuz做网站需求描述轮播图也是大部分app都有的效果#xff0c;商品类跟新闻类的app是肯定会有的。轮播图的效果跟第一次启动时的引导页类似#xff0c;不过轮播图在引导页的基础上多了几个功能:在第一页也能向左滑动,在最后一页也能向右滑动有个计时器#xff0c;每隔一段时间滚动轮播…需求描述轮播图也是大部分app都有的效果商品类跟新闻类的app是肯定会有的。轮播图的效果跟第一次启动时的引导页类似不过轮播图在引导页的基础上多了几个功能:在第一页也能向左滑动,在最后一页也能向右滑动有个计时器每隔一段时间滚动轮播图先看效果图代码实现activity_main.xml最外层是RelativeLayout固定高度200dp,里面有ViewPager跟LinearLayoutViewPager用来显示banner图片LinearLayout显示点点点图片表示当前ViewPager的选中状态。BannerAdapter.java ViewPager适配器继承自PagerAdapter重写四个方法。首先我们把要显示的图片的资源id放到一个名字为banners的int数组中这是一个实例变量在构造方法中传入context对象。getCount 返回int的最大值,这样有个好处就是当你滑动到来最后一页还能往后滑动。isViewFromObject 常规写法 参数1参数2destroyItem 删除一条记录instantiateItem 添加一条记录首先传入的position的值是0到int最大值因为我们前面的getCount方法就返回int类型最大值所以这里我们要对图片数量进行求余这样求余之后position的值必定小于图片数量初始化ImageView对象设置图片缩放类型把position通过setTag保存到view里面设置图片资源给图片设置点击事件最后把图片添加到ViewGroup里面。这个ViewGroup就是ViewPager自己如果你看了源码ViewPager就是继承自ViewGroup的。onClickListener 先判断onBannerClickListener是否为空如果不为空调用onBannerClickListener的onClick方法。setOnBannerClickListener 设置banner item点击监听其实就是设置图片点击。getBanners 返回图片资源数组。MainActivity.javaonCreate 查找ViewPager控件初始化BannerAdapter对象给bannerAdapter设置点击事件(图片点击)给ViewPager设置缓存页数设置适配器添加页面改变监听查找ViewGroup循环添加显示点点点图片的ImageView在for循环中创建ImageView对象设置图片宽高给图片设置资源图片选中跟未选中资源图片不一样默认第一个点选中。最后调用viewGroup.addView方法把图片添加进去这个方法有第二个参数可以设置左右外边距。通过ViewPager.setCurrentItem方法设置当前页当前页的值给一个比较大默认值这样做的好处就是软件刚打开Banner也能向左边滑动最后开启计时器这里调用postDelayed方法这个方法可以延迟执行Runnable它有两个参数第一个参数是Runnable第二个参数是延迟的时间我们延迟5秒执行。HandlerRunnable当计时器使用大家应该都明白了把毕竟我们前面的音乐播放器视频播放器都这么用过。onPageChangeListener 在onPageSelected方法中把当前的position赋值给currentItem调用setImageBackground方法改变点点点图片的选中状态传入了一个int类型的值我们先对position求余之后再传入进去。setImageBackground 改变点点点图片的选中状态循环图片数量根据下标从viewGroup中找出ImageView先把背景设置成无如果选中显示选中图片未选中设置未选中图片。onBannerClickListener 图片点击监听在这里可以处理图片点击之后做的事情onDestroy 删除计时器大家在开发中如果有需要释放的东西一定要在onDestroy中加上即时释放资源是一个程序员良好的习惯。所以建议大家都养成这个习惯。源码下载如果您想第一时间看我的后期文章公众号每周不定期推送:Android开发666