Ewpager is most commonly used in conjunction with fragment, which is a convenient way to supply and manage the life cycle of each page.
Mainacitivity's Code
Importjava.util.ArrayList;Importjava.util.List;ImportAndroid.os.Bundle;Importandroid.app.Activity;ImportAndroid.support.v4.view.PagerAdapter;ImportAndroid.support.v4.view.PagerTabStrip;ImportAndroid.support.v4.view.ViewPager;ImportAndroid.view.LayoutInflater;ImportAndroid.view.View;ImportAndroid.view.ViewGroup; Public classMainactivityextendsActivity {PrivateView View1, View2, VIEW3;//page cards that need to be slid PrivateViewpager Viewpager; PrivatePagertabstrip Pagertabstrip; PrivateList<view> viewlist;//add a page card that needs to be slid to this list PrivateList<string> titlelist;//Viewpager's title@Override Public voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.activity_main); //Initialize as normal controls firstViewpager =(Viewpager) Findviewbyid (R.id.viewpager); Pagertabstrip=(Pagertabstrip) Findviewbyid (R.id.pagertab); Pagertabstrip.setdrawfullunderline (false);//set underline not full page displaypagertabstrip.settextspacing (1000);//set the distance between headingsInitview (); Myadapter Pageradapter=NewMyadapter (); Viewpager.setadapter (Pageradapter); } //fill Layout, set the title of each page Private voidInitview () {View1=Findviewbyid (R.LAYOUT.LAYOUT1); View2=Findviewbyid (R.LAYOUT.LAYOUT2); VIEW3=Findviewbyid (R.LAYOUT.LAYOUT3); Viewlist=NewArraylist<view> ();//The view that will be paginated is loaded into the arrayViewlist.add (View1); Viewlist.add (VIEW2); Viewlist.add (VIEW3); Titlelist=NewArraylist<string> ();//title data for each pageTitlelist.add ("first page"); Titlelist.add ("Second Page"); Titlelist.add ("Third page"); } Public classMyadapterextendsPageradapter {@Override Public BooleanIsviewfromobject (View arg0, Object arg1) {returnarg0 = =arg1; } @Override Public intGetCount () {returnviewlist.size (); } @Override Public voidDestroyitem (ViewGroup container,intposition, Object object) {Container.removeview (Viewlist.get (position)); } @Override Public intgetitemposition (Object object) {return Super. GetItemPosition (object); } @Override PublicCharsequence Getpagetitle (intposition) { returnTitlelist.get (position); } //populate the layout of each page as in the ViewGroup container@Override PublicObject Instantiateitem (ViewGroup container,intposition) {Container.addview (Viewlist.get (position)); returnViewlist.get (position); } }; }
Main.xml
<?XML version= "1.0" encoding= "Utf-8"?> <LinearLayoutxmlns: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.ViewPagerAndroid:id= "@+id/viewpager"Android:layout_width= "Wrap_content"Android:layout_height= "Wrap_content"android:layout_gravity= "Center" > <Android.support.v4.view.PagerTabStripAndroid:id= "@+id/pagertab"Android:layout_width= "Wrap_content"Android:layout_height= "Wrap_content"android:layout_gravity= "Top"/> </Android.support.v4.view.ViewPager> </LinearLayout>
Viewpager Slide Effect Implementation