viewpager的学习使用

viewpager使用很简单,先在layout中加入:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView
        android:text="title"
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />
 
    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" >
 
       
    </android.support.v4.view.ViewPager>
 
</LinearLayout>
在代码里引用viewpager并为viewpager绑定adapter:
        mViewPager = (ViewPager)findViewById(R.id.viewpager);
        mViewPager.setAdapter(mPagerAdapter);
adapter就是返回每个page的view

 PagerAdapter mPagerAdapter = new PagerAdapter() {
             
            @Override
            public boolean isViewFromObject(View arg0, Object arg1) {
                return arg0 == arg1;
            }
             
            @Override
            public int getCount() {
                return views.size();
            }
 
            @Override
            public void destroyItem(View container, int position, Object object) {
                ((ViewPager)container).removeView(views.get(position));
            }
 
            @Override
            public CharSequence getPageTitle(int position) {
                return titles.get(position);
            }
 
            @Override
            public Object instantiateItem(View container, int position) {
                ((ViewPager)container).addView(views.get(position));
                return views.get(position);
            }
        };



viewpager还可以设置listner,一般不实现联动就不需要了:比如这里,viewpager切换了,我需要textview的title跟着一起变,就可以在 onPageSelected中设置

  mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){

			@Override
			public void onPageScrollStateChanged(int arg0) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void onPageScrolled(int arg0, float arg1, int arg2) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void onPageSelected(int arg0) {
				// TODO Auto-generated method stub
				
			}
        });
onPageScrollStateChanged在开始切换滑动和结束是被调用,onPageScrolled在过程中被调用,onPageSelected在某页被选中后调用。比如手指按着某页滑动然后松手,调用流程会是:onPageScrollStateChanged,onPageScrolled,onPageSelected,onPageScrolled,onPageScrollStateChanged

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值