Reference URL:
Click to open link
Source Code implementation:
Package Com.example.actionbardemo2;import Android.app.actionbar;import Android.app.actionbar.tab;import Android.graphics.color;import Android.graphics.drawable.colordrawable;import android.graphics.drawable.Drawable; Import Android.os.bundle;import Android.support.v4.app.fragment;import android.support.v4.app.FragmentActivity; Import Android.support.v4.app.fragmentmanager;import Android.support.v4.app.fragmentpageradapter;import Android.support.v4.view.viewpager;import Android.view.menu;import Android.view.menuitem;public class MainActivity Extends fragmentactivity implementsactionbar.tablistener {private DFragment1 fragment1 = new DFragment1 ();p rivate DFragment2 Fragment2 = new DFragment2 ();p rivate dFragment3 fragment3 = new DFragment3 ();p rivate static final int Tab_index _count = 2;private static final int tab_index_one = 0;private static final int tab_index_two = 1;private Viewpager Viewpag Er;private myfrgamentpageradapter viewpageradapter, @Overrideprotected void OnCreate (Bundle savediNstancestate) {super.oncreate (savedinstancestate); Setcontentview (r.layout.activity_main);//1 settings Viewpagersetviewpager ();//2 get Actionbargetactionbarmethod ();} 1 setting viewpagerprivate void Setviewpager () {viewpageradapter = new Myfrgamentpageradapter (Getsupportfragmentmanager () ); Viewpager = (Viewpager) This.findviewbyid (R.id.viewpager); Viewpager.setadapter (Viewpageradapter); Viewpager.setonpagechangelistener (New Viewpager.simpleonpagechangelistener () {@Overridepublic void onpageselected ( int position) {//TODO auto-generated method stubsuper.onpageselected (position); final ActionBar ActionBar = Getactionbar (); Actionbar.setselectednavigationitem (position);} @Overridepublic void onpagescrollstatechanged (int state) {//TODO auto-generated method Stubsuper.onpagescrollstatechanged (state);}});} 2 Get actionbarprivate void Getactionbarmethod () {//get Actionbaractionbar ActionBar = Getactionbar (); Actionbar.setnavigationmode (actionbar.navigation_mode_tabs);//Set ActionBar color drawable draw = new ColordraWable (Color.green); actionbar.setbackgrounddrawable (draw);//Set ActionBar tabactionbar.tab Tab = Actionbar.newtab (); Tab.settext ("core product"); Tab.seticon (draw); Tab.settablistener (this); Actionbar.addtab (tab); tab = Actionbar.newtab (); Tab.settext ("Platform product"); Tab.seticon (draw); Tab.settablistener (this); Actionbar.addtab (tab);//Remove the icon to the right of the left small arrow://Represents On the left, there is an arrow actionbar.setdisplayhomeasupenabled (TRUE);//means disable logoactionbar.setdisplayuselogoenabled (false);//Use The transparent color replaces the original icon, which is equivalent to not displaying Actionbar.seticon (new Colordrawable (color.transparent));} /** * ActionBar Action Click event Handling: * */@Overridepublic Boolean onoptionsitemselected (MenuItem Item) {//TODO auto-generated m Ethod Stubswitch (Item.getitemid ()) {case Android. R.id.home:finish (); return true;} return super.onoptionsitemselected (item);} /** * Actiontab Click event: * */@Overridepublic void ontabreselected (Tab arg0, android.app.FragmentTransaction arg1) {//To Do auto-generated method stub} @Overridepublic void ontabselected (Tab tab, Android.app.FragmentTransaction arg1) {// TODO Auto-generated Method stub//Sets the current display page of Viewpager according to the position index of Actionbar Tab. Viewpager.setcurrentitem (Tab.getposition ());} @Overridepublic void ontabunselected (Tab arg0, android.app.FragmentTransaction arg1) {//TODO auto-generated method stub }/** * ActionBar style, set. * * * */@Overridepublic Boolean Oncreateoptionsmenu (Menu menu) {//Inflate the menu; This adds items to the action bar if I T is Present.getmenuinflater (). Inflate (R.menu.main, menu); return true;} TODO 2 Viewpager Custom class: Class Myfrgamentpageradapter extends Fragmentpageradapter {public Myfrgamentpageradapter ( Fragmentmanager FM) {super (FM);//TODO auto-generated constructor stub} @Overridepublic Fragment GetItem (int position) {/ /TODO Sets the returned data switch (position) {case Tab_index_one:return fragment1;case Tab_index_two:return Fragment2;} throw new IllegalStateException ("No fragment at position" + position);} @Overridepublic int GetCount () {//TODO auto-generated method Stubreturn tab_index_count;}}
Android--------------------ActionBar and Viewpager and Actiontab switching source code implementation