首页 > 代码库 > 使用ViewPager实现页面之间的跳转
使用ViewPager实现页面之间的跳转
Activity代码
public class MainActivity extends AppCompatActivity { private List<View> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); list= new ArrayList<View>(); /** * 通过view对象作为viewpager的数据源 */ View view1=View.inflate(this,R.layout.view1,null); View view2=View.inflate(this,R.layout.view2,null); View view3=View.inflate(this,R.layout.view3,null); View view4=View.inflate(this,R.layout.view4,null); list.add(view1); list.add(view2); list.add(view3); list.add(view4); //创建pageadapter Mypageadapter mypageadapter= new Mypageadapter(list); //初始化viewpager ViewPager pager= (ViewPager)findViewById(R.id.viewpager); //加载适配器 pager.setAdapter(mypageadapter); }}
总体的思路是创建一个View的list集合,通过inflate方法将页面转化为view,初始化list并添加view为元素,初始化viewpager并加载适配器
pageradapter代码
public class Mypageadapter extends PagerAdapter { private List<View> viewList; public Mypageadapter(List<View>viewList){ this.viewList=viewList; } //返回页卡的数量 @Override public int getCount() { return viewList.size(); } //page是否来自于对象 @Override public boolean isViewFromObject(View view, Object object) { return view==object; } /* * 实例化一个页卡 * */ @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(viewList.get(position)); return viewList.get(position); } //销毁一个页卡 @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(viewList.get(position)); }}
继承pageradapter方法,创建一个有参的构造方法,在Activity中调用时将LIstVIew传递进来
除了实现的两个方法之外还要实现一个初始化页卡的方法和另一个销毁页卡的方法
使用ViewPager实现页面之间的跳转
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。