Android--------------------ActionBar and Viewpager and Actiontab switching source code implementation

Source: Internet
Author: User



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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.