ViewPager 实现页面左右滑动的简单案例1

来源:互联网 发布:开个淘宝店做淘宝客 编辑:程序博客网 时间:2024/06/06 03:03

ViewPager 实现页面左右滑动的简单案例

主要Activity:

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity">


    <android.support.v4.view.ViewPagerandroid:id="@+id/view_pager"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent">               

    </android.support.v4.view.ViewPager>

</RelativeLayout>

主类:

public class MainActivity extends Activity {

ViewPager pager;

List<View> views;


@Override

protectedvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

pager = (ViewPager)findViewById(R.id.view_pager);

views =new ArrayList<View>();

LayoutInflater mLi = LayoutInflater.from(this);  

View view1 = mLi.inflate(R.layout.view1,null);  

View view2 = mLi.inflate(R.layout.view2,null);  

View view3 = mLi.inflate(R.layout.view3,null);  

views.add(view3);  

views.add(view2);   

views.add(view1);

MyPagerAdapter adapter =new MyPagerAdapter();

pager.setAdapter(adapter);

}

class MyPagerAdapterextends PagerAdapter{


@Override

publicint getCount() {

//TODO Auto-generated method stub

returnviews.size();

}


@Override

publicboolean isViewFromObject(View arg0, Object arg1) {

//TODO Auto-generated method stub

return arg0 == arg1;   //这行代码很重要,它用于判断你当前要显示的页面

}

@Override  

public Object instantiateItem(ViewGroup container,int position) {  

    container.addView(views.get(position));  

    return views.get(position);  

}  

@Override  

publicvoid destroyItem(ViewGroup container,int position, Object object) {  

    container.removeView(views.get(position));  

}  

}

}


三个View页面:

1

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity"

    android:background="#f00">


    <TextViewandroid:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="1"/>


</RelativeLayout>

2

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity"

    android:background="#ff0">


    <TextViewandroid:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="2"/>


</RelativeLayout>

3

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity"

   android:background="#0ff">


    <TextViewandroid:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="3"/>


</RelativeLayout>

运行结果:

demo下载:http://download.csdn.net/detail/lyhdream/5170645

http://img.my.csdn.net/uploads/201303/22/1363943622_3729.png