ViewPage实现页面滑动
ViewPage的页面滑动类似于Gallery,但Gallery只能实现图片滑动,而ViewPage的滑动页面可以自定义
布局文件
- activity_main.xml(用于放ViewPage的主引导界面)
 
 | <RelativeLayout xmlns: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.ViewPager         android:id="@+id/myviewpager"         android:layout_width="wrap_content"         android:layout_height="wrap_content">     </android.support.v4.view.ViewPager> </RelativeLayout>
 
  | 
 
- a.xml(第一个显示页面)
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
   | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical" >
      <Button         android:id="@+id/button1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="Button" />
      <Button         android:id="@+id/button2"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="Button" />
      <TextView         android:id="@+id/textView1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="Large Text"         android:textAppearance="?android:attr/textAppearanceLarge" />
  </LinearLayout>
 
  | 
 
- b.xml(第二个显示页面)
 
 | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical" >
      <TextView         android:id="@+id/textView1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="Large Text"         android:textAppearance="?android:attr/textAppearanceLarge" />
  </LinearLayout>
 
  | 
 
- c.xml(第三个显示页面)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
   | <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical" >
      <TextView         android:id="@+id/textView1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="TextView" />
      <Button         android:id="@+id/button1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="Button" />
  </LinearLayout>
 
  | 
 
 
MainActivity.java文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
   | package com.example.viewpager;
  import java.util.ArrayList;
  import android.os.Bundle; import android.app.Activity; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.Toast;
 
 
 
  public class MainActivity extends Activity { 	ViewPager vp; 	ArrayList<View> list = new ArrayList<View>(); 	@Override 	protected void onCreate(Bundle savedInstanceState) { 		super.onCreate(savedInstanceState); 		setContentView(R.layout.activity_main); 		vp = (ViewPager)findViewById(R.id.myviewpager); 		list.add(getLayoutInflater().inflate(R.layout.a,null)); 		list.add(getLayoutInflater().inflate(R.layout.b,null)); 		list.add(getLayoutInflater().inflate(R.layout.c,null)); 		 		vp.setAdapter(new PagerAdapter() { 			 			@Override 			public boolean isViewFromObject(View arg0, Object arg1) { 				return arg0==arg1; 			} 			@Override 			public int getCount() { 				return list.size(); 			} 			@Override 			public void destroyItem(ViewGroup container, int position, 					Object object) { 				container.removeView(list.get(position)); 			} 			@Override 			public Object instantiateItem(ViewGroup container, int position) { 				View v = list.get(position); 				container.addView(v); 				return v; 			} 		}); 		vp.setOnPageChangeListener(new OnPageChangeListener() { 			@Override 			public void onPageSelected(int arg0) { 				if(arg0==2){ 					Toast.makeText(getApplicationContext(), "最后一页", Toast.LENGTH_SHORT).show(); 				} 			} 			@Override 			public void onPageScrolled(int arg0, float arg1, int arg2) { 			} 			@Override 			public void onPageScrollStateChanged(int arg0) { 			} 		}); 	} }
 
  |