Android Actionbar top label usage

Source: Internet
Author: User

Today I wrote a sample code that uses the Actionbar class to implement the top label switching feature. If it is shown.

650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M00/43/79/wKioL1PbOnvTIWiZAACPg7me6ZI290.jpg "title=" QQ picture 20140801144803.jpg "alt=" Wkiol1pbonvtiwizaacpg7me6zi290.jpg "/>


With the latest ADT tools, the project will be created with a Android-support-v7-appcompat class library project,

This libproject has the actionbar that we want to use, which can be adapted to the 2.1 Android system.

Nonsense not much to say, directly on the code.


1, modify Activity_main.xml, increase viewpager.

<android.support.v4.view.viewpager xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= " Http://schemas.android.com/tools "android:id=" @+id/pager "android:layout_width=" Match_parent "Android:layout_heig ht= "Match_parent"/>

2, modify the code in the mainactivity, let it inherit actionbaractivity

public class Mainactivity extends Actionbaractivity implements Tablistener {


3. Create Tabspageradapter Inheritance Fragmentpageradapter

package com.example.tabswithswie.adatper;import android.support.v4.app.fragment;import  android.support.v4.app.fragmentmanager;import android.support.v4.app.fragmentpageradapter;import  com.example.tabswithswie.fragments.appfragment;import com.example.tabswithswie.fragments.gamesfragment; import com.example.tabswithswie.fragments.moviesfragment;public class tabspageradapter  Extends fragmentpageradapter {    public tabspageradapter (FragmentManager &NBSP;FM)  {        super (FM);         // TODO Auto-generated constructor stub    }      @Override     public fragment getitem (int index)  {         switch  (Index)  {         case 0:  &nbSp;         return new appfragment ();         case 1:             return new gamesfragment ();        case 2:             return new moviesfragment ();              }         return null;    }     @Override      public int getcount ()  {        // TODO  auto-generated method stub        return 3;     }}

4. Create Appfragment inheritance Android.support.v4.app.Fragment

Package Com.example.tabswithswie.fragments;import Com.example.tabswithswie.r;import Android.os.bundle;import Android.support.v4.app.fragment;import Android.view.layoutinflater;import Android.view.view;import Android.view.viewgroup;public class Appfragment extends Fragment {@Override public view Oncreateview (LAYOUTINFL        Ater inflater, ViewGroup container, Bundle savedinstancestate) {//TODO auto-generated method stub    Return Inflater.inflate (R.layout.fragment_app, container, false); }}

5. Create a layout file Fragment_app.xml

<?xml version= "1.0" encoding= "Utf-8"? ><relativelayout xmlns:android= "http://schemas.android.com/apk/res/ Android "Android:layout_width=" Match_parent "android:layout_height=" match_parent "android:background=" #43ff00ff " > <textview android:id= "@+id/textview1" android:layout_width= "Wrap_content" Android:layout_h eight= "Wrap_content" android:layout_centerinparent= "true" android:text= "This is the application interface" Android:textappeara Nce= "? Android:attr/textappearancelarge"/></relativelayout>


6. Create Gamesfragment Inheritance Android.support.v4.app.Fragment

Package Com.example.tabswithswie.fragments;import Com.example.tabswithswie.r;import Android.os.bundle;import Android.support.v4.app.fragment;import Android.view.layoutinflater;import Android.view.view;import Android.view.viewgroup;public class Gamesfragment extends Fragment {@Override public view Oncreateview (layoutin        Flater inflater, ViewGroup container, Bundle savedinstancestate) {//TODO auto-generated method stub    Return Inflater.inflate (R.layout.fragment_game, container, false); }}

7. Create a layout file Fragment_game.xml

<?xml version= "1.0"  encoding= "Utf-8"? ><relativelayout  xmlns:android= "Http://schemas.android.com/apk/res/android"     android:layout_width= " Match_parent "    android:layout_height=" Match_parent "     android : background= "#9445f353" >    <TextView         android:id= "@+id/textview1"         android:layout_width= "Wrap_ Content "        android:layout_height=" Wrap_content "          android:layout_centerinparent= "true"          android:text= "Game"         android:textappearance= "? Android: Attr/textappearancelarge "&NBSP;/></RELATIVELAYOUT> 

8. Create Moviesfragment Inheritance Android.support.v4.app.Fragment

Package Com.example.tabswithswie.fragments;import Com.example.tabswithswie.r;import Android.os.bundle;import Android.support.v4.app.fragment;import Android.view.layoutinflater;import Android.view.view;import Android.view.viewgroup;public class Moviesfragment extends Fragment {@Override public view Oncreateview (Layouti        Nflater inflater, ViewGroup container, Bundle savedinstancestate) {//TODO auto-generated method stub    Return Inflater.inflate (R.layout.fragment_movie, container, false); }}

9. Create a layout file Fragment_movie.xml

<?xml version= "1.0" encoding= "Utf-8"? ><relativelayout xmlns:android= "http://schemas.android.com/apk/res/ Android "Android:layout_width=" Match_parent "android:layout_height=" match_parent "android:background=" #34fef443 " > <textview android:id= "@+id/textview1" android:layout_width= "Wrap_content" Android:layout_h eight= "Wrap_content" android:layout_centerinparent= "true" android:text= "video" android:textappearance= " ? android:attr/textappearancelarge "/></relativelayout>


10, back to the Mainactivity class, add tabs to Actionbar, and handle the click-swipe event. Full code

package com.example.tabswithswie;import android.os.bundle;import  android.support.v4.app.fragmenttransaction;import android.support.v4.view.viewpager;import  Android.support.v4.view.viewpager.onpagechangelistener;import android.support.v7.app.actionbar;import  android.support.v7.app.actionbar.tab;import android.support.v7.app.actionbar.tablistener;import  android.support.v7.app.ActionBarActivity;import com.example.tabswithswie.adatper.TabsPagerAdapter; public class mainactivity extends actionbaractivity implements tablistener  {    private viewpager viewpager;    private actionbar  actionBar;     private TabsPagerAdapter mTabsPagerAdapter;         private string[] tabs ={"Apps", "Games", "Videos"};      @Override     protected void&Nbsp;oncreate (bundle savedinstancestate)  {         Super.oncreate (savedinstancestate);         setcontentview ( R.layout.activity_main);         //get viewpager         viewPager =  (Viewpager)  findviewbyid (R.id.pager);         //instantiation of pageradapter         Mtabspageradapter = new tabspageradapter (Getsupportfragmentmanager ());         viewpager.setadapter (Mtabspageradapter);         //Get adapted actionbar        actionbar =  Getsupportactionbar ();         //Set Home button is not clickable          actionbar.sethomebuttonenabled (false); &NBSP;&NBSP;&NBsp;     //Setting the top navigation mode   -tabs         Actionbar.setnavigationmode (actionbar.navigation_mode_tabs);         // Add Tag         for (string tab:tabs)          {            actionbar.addtab ( Actionbar.newtab (). SetText (tab). Settablistener (this));          }         //Setting the Listener event for Viewpager Switch          viewpager.setonpagechangelistener (New onpagechangelistener ()  {                           @Override             public void  onpageselected (INT&NBsp;position)  {                 //page swipe, top label changes                   actionbar.setselectednavigationitem (position);             }                          @Override              public void onpagescrolled (int arg0, float  ARG1,&NBSP;INT&NBSP;ARG2)  {                 // TODO Auto-generated method stub                              }                          @Override              public void onpagescrollstatechanged (int arg0)  {                 // TODO Auto-generated method  stub                             }        &NBSP);    }          @Override      public void ontabreselected (TAB&NBSP;ARG0,&NBSP;FRAGMENTTRANSACTION&NBSP;ARG1)  {         // TODO Auto-generated method stub             }     @Override     public  Void ontabselected (tab tab, fragmenttransaction fragmenttransaction)  {         //tab selected, toggle viewpager         Viewpager.setcurrentitem (Tab.getposition ());    }     @Override      public void ontabunselected (TAB&NBSP;ARG0,&NBSP;FRAGMENTTRANSACTION&NBSP;ARG1)  {        // todo auto-generated method stub             }     }


This is the code, and it's done. Sample code Download

This article is from the "Cocosdev" blog, make sure to keep this source http://xuzhiwei.blog.51cto.com/978424/1533803

Related Article

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.