你的位置:首页 > 软件开发 > 操作系统 > Android实现图片轮显效果——自定义ViewPager控件

Android实现图片轮显效果——自定义ViewPager控件

发布时间:2015-04-13 10:03:31
一、问题概述  使用ViewPager控件实现可横向翻页、水平切换图片等效果,但ViewPager需要手动滑动才能切换页面,图片轮显效果的效果本质上就是在ViewPager控件的基础上让它能自动的进行切换,所以实现图片轮显步骤如下:1、 扩展ViewPager自定义一个My ...

Android实现图片轮显效果——自定义ViewPager控件

一、问题概述

  使用ViewPager控件实现可横向翻页、水平切换图片等效果,但ViewPager需要手动滑动才能切换页面,图片轮显效果的效果本质上就是在ViewPager控件的基础上让它能自动的进行切换,所以实现图片轮显步骤如下:

1、  扩展ViewPager自定义一个MyScrollImageView类

2、  为MyScrollImageView定义适配器,装载图片信息

3、  定义图片滑动动画时间控制类

  接下来我们就一步步实现下图案例:

Android实现图片轮显效果——自定义ViewPager控件

二、实现套路

1、为自定义ViewPager控件编写适配器

  我们先为我们的自定义ViewPager控件编写一个适配器,用于加载要轮显的图片,这个和使用ViewPager控件一样都要为适配器控件定义适配器

  // 适配器  public class MyPagerAdapter extends PagerAdapter {    private Activity mActivity; // 上下文    private List<View> mListViews; // 图片组    public MyPagerAdapter(){    }    public MyPagerAdapter(Activity mActivity,List<View> mListViews){      this.mActivity=mActivity;      this.mListViews=mListViews;    }    public int getCount() {      if (mListViews.size() == 1) {// 一张图片时不用流动        return mListViews.size();      }      return Integer.MAX_VALUE;    }    /**      返回List中的图片元素装载到控件中*/    public Object instantiateItem(View v, int i) {      if (((ViewPager) v).getChildCount() == mListViews.size()) {        ((ViewPager) v)            .removeView(mListViews.get(i % mListViews.size()));      }      ((ViewPager) v).addView(mListViews.get(i % mListViews.size()), 0);      return mListViews.get(i % mListViews.size());    }    public boolean isViewFromObject(View arg0, Object arg1) {      return arg0 == (arg1);    }    public void destroyItem(ViewGroup view, int i, Object object) {      view.removeView(mListViews.get(i%mListViews.size()));    }      }

原标题:Android实现图片轮显效果——自定义ViewPager控件

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录