主要布局檔案
<?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" > <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>
java代碼
package com.mars.demo;import java.util.ArrayList;import android.app.Activity;import android.os.Bundle;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;public class MainActivity1 extends Activity {private ViewPager mViewPager;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mViewPager = (ViewPager) findViewById(R.id.viewpager);// 將要分頁顯示的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);// 每個頁面的Title資料final ArrayList<View> views = new ArrayList<View>();views.add(view1);views.add(view2);views.add(view3);final ArrayList<String> titles = new ArrayList<String>();titles.add("tab1");titles.add("tab2");titles.add("tab3");// 填充ViewPager的資料配接器PagerAdapter mPagerAdapter = new PagerAdapter() {@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}@Overridepublic int getCount() {return views.size();}@Overridepublic void destroyItem(View container, int position, Object object) {((ViewPager) container).removeView(views.get(position));}@Overridepublic CharSequence getPageTitle(int position) {return titles.get(position);}@Overridepublic Object instantiateItem(View container, int position) {((ViewPager) container).addView(views.get(position));return views.get(position);}};mViewPager.setAdapter(mPagerAdapter);}}