Android中ViewPager中界面的循环滑动
2015-09-06 14:03
465 查看
将适配器中的代码进行修改即可
package com.example.administrator.myviewpagertest.adapter; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; import java.util.List; /** * Created by Administrator on 2015/9/1. */ public class ViewPagerAdapter extends PagerAdapter { private List<View> mViews; public ViewPagerAdapter(List<View> mViews) { this.mViews = mViews; } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public void destroyItem(ViewGroup container, int position, Object object) { /*View view=mViews.get(position); container.removeView(view);*/ } @Override public Object instantiateItem(ViewGroup container, int position) { View view=mViews.get(position%mViews.size()); if (view.getParent()!=null){ container.removeView(view); } container.addView(view); return view; } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } }
在getCount()方法中将返回View的数量改写为Integer.MAX_VALUE,是2的31次方减去1,是一个非常大的数值。在加载View的时候首先进行判断,看看之前是否加载过,如果加载过,则进行销毁,(之前那个销毁的方法就不需要了)否则进行加载,由于加载的数量变化了,而真正有用的界面有限,所以加载的时候加载mViews.get(position%mViews.size())的界面。
在MAinActivity中加一句话,用来显示当前界面
mViewPager.setCurrentItem(Integer.MAX_VALUE/2-Integer.MAX_VALUE/2%mViews.size());
这一句话是将有用的View放到所有的View的正中间,并将有用的View的第一个放在第一张。
相关文章推荐
- Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
- Android Spinner控件 显示数据和下拉选中数据分离
- Android属性动画完全解析(上),初识属性动画的基本用法
- Android Animation动画(很详细)
- 【Android基础】-View.MeasureSpec
- Android ListView详解(二)
- Android 反编译详细介绍
- android support 支持包 使用
- Android创建和删除快捷图标
- android横竖屏切换处理
- 关于Runtime Permissions的学习以及使用的一些注意事项
- 解读Android之ContentProvider(1)CRUD操作
- 解读Android之ContentProvider(2)创建自己的Provider
- android学习笔记(16)广播事件处理
- Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)
- Android之旅:梦想、学习、坚持、自信、淡定
- Android性能测试小工具Emmagee
- 谈谈Android Material Design 中的Tint(着色)
- 查看Android 4.4的源码
- Android UI之ImageView实现图片旋转和缩放