ViewPager的介绍(基础篇)

最先接触到ViewPager是因为需要给一个看书类APP做一个滑动的效果,有人推荐了ViewPager。

那么何为ViewPager?ViewPager其实就是一个简单的滑动页面,最常见的就是导航页面了,其实它是Android3.0才出现的,利用它,我们可以做很多事情,从最简单的导航,到页面菜单等等。谷歌官方的建议是与fragment一起使用。
为了方便3.0以下的系统也可以使用ViewPager,在Android的v4包里,也提供了ViewPager的接口。

在这主要介绍一下,怎么能最快的上手使用ViewPager。主要分为三步


1,在布局文件中加入ViewPager 

<android.support.v4.view.ViewPager 
        android:id="@+id/viewpager"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_gravity="center" >

2,ViewPager与LisstView类似,我们也需要一个适配器,他就是PagerAdapter

public class MyViewPagerAdapter extends PagerAdapter{
		private List<View> mListViews;
		
		public MyViewPagerAdapter(List<View> mListViews) {
			this.mListViews = mListViews;//构造方法,参数是我们的页卡,这样比较方便。
		}

		@Override
		public void destroyItem(ViewGroup container, int position, Object object) 	{	
			container.removeView(mListViews.get(position));//删除页卡
		}


		@Override
		public Object instantiateItem(ViewGroup container, int position) {	//这个方法用来实例化页卡		
			 container.addView(mListViews.get(position), 0);//添加页卡
			 return mListViews.get(position);
		}

		@Override
		public int getCount() {			
			return  mListViews.size();//返回页卡的数量
		}
		
		@Override
		public boolean isViewFromObject(View arg0, Object arg1) {			
			return arg0==arg1;//官方提示这样写
		}
	}

当你实现一个PagerAdapter,你必须至少覆盖以下方法:


3, 添加需要滑动的页面

LayoutInflater lf = getLayoutInflater().from(this);
view1 = lf.inflate(R.layout.layout1, null);
view2 = lf.inflate(R.layout.layout2, null);
view3 = lf.inflate(R.layout.layout3, null);
viewList = new ArrayList<View>();// 将要分页显示的View装入数组中
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
MyViewPagerAdapter pagerAdapter = new MyViewPagerAdapter (viewList);
viewPager.setAdapter(pagerAdapter);

通过以上几步,一个简单的ViewPager就做成了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值