一、问题概述 使用ViewPager控件实现可横向翻页、水平切换图片等效果,但ViewPager需要手动滑动才能切换页面,图片轮显效果的效果本质上就是在ViewPager控件的基础上让它能自动的进行切换,所以实现图片轮显步骤如下:1、 扩展ViewPager自定义一个My ...
使用ViewPager控件实现可横向翻页、水平切换图片等效果,但ViewPager需要手动滑动才能切换页面,图片轮显效果的效果本质上就是在ViewPager控件的基础上让它能自动的进行切换,所以实现图片轮显步骤如下:
1、 扩展ViewPager自定义一个MyScrollImageView类
2、 为MyScrollImageView定义适配器,装载图片信息
3、 定义图片滑动动画时间控制类
接下来我们就一步步实现下图案例:
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
(#换成@)。