1. 程式人生 > >Android界面編程--使用活動條(ActionBar)--實現Tab導航

Android界面編程--使用活動條(ActionBar)--實現Tab導航

ces pro earch override emc show end nal position

使用ActionBar結合fragment實現導航

  1,調用ActionBar的setNavigationModel(ActionBar.NAVIGATION_MODE_TABS)設置使用tabs導航

  2,調用ActionBar的addTab()添加多個Tab標簽

  #################承載Fragment的Activity需要實現implements FirstFragment.OnFragmentInteractionListener這個接口,要不然就報錯###############第二次碰到這個問題了

代碼:包含原來的實現ActionBar中顯示View組件(還需要在仔細看一些方法,細節)

 1 package com.example.administrator.myapplication;
 2 
 3 import android.net.Uri;
 4 import android.support.v4.app.Fragment;
 5 import android.support.v4.app.FragmentTransaction;
 6 import android.support.v4.view.MenuItemCompat;
 7 import android.support.v7.app.ActionBar;
 8 import android.support.v7.app.AppCompatActivity;
9 import android.os.Bundle; 10 import android.view.Menu; 11 import android.view.MenuInflater; 12 13 import layout.FirstFragment; 14 15 public class MainActivity extends AppCompatActivity implements FirstFragment.OnFragmentInteractionListener, ActionBar.TabListener { 16 17 @Override 18 protected
void onCreate(Bundle savedInstanceState) { 19 super.onCreate(savedInstanceState); 20 setContentView(R.layout.activity_main); 21 22 final ActionBar actionBar = getSupportActionBar(); 23 actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 24 //依次添加3個標簽 25 actionBar.addTab(actionBar.newTab().setText("first").setTabListener(this)); 26 actionBar.addTab(actionBar.newTab().setText("second").setTabListener(this)); 27 actionBar.addTab(actionBar.newTab().setText("third").setTabListener(this)); 28 29 30 } 31 32 @Override 33 public boolean onCreateOptionsMenu(Menu menu) { 34 MenuInflater inflater = new MenuInflater(this); 35 inflater.inflate(R.menu.menu_main,menu); 36 MenuItemCompat.setShowAsAction(menu.findItem(R.id.search),MenuItemCompat.SHOW_AS_ACTION_ALWAYS); 37 MenuItemCompat.setShowAsAction(menu.findItem(R.id.progess),MenuItemCompat.SHOW_AS_ACTION_ALWAYS); 38 return super.onCreateOptionsMenu(menu); 39 40 41 } 42 43 @Override 44 public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) { 45 Fragment fragment = new FirstFragment(); 46 Bundle args = new Bundle(); 47 args.putInt("zhang",tab.getPosition()+1); 48 fragment.setArguments(args); 49 50 android.app.FragmentTransaction ft1 = getFragmentManager().beginTransaction(); 51 ft.replace(R.id.container,fragment); 52 //ft.commit();//這代碼不註釋掉會保存############################################################################################################ 53 } 54 55 @Override 56 public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) { 57 58 } 59 60 @Override 61 public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) { 62 63 } 64 65 @Override 66 public void onFragmentInteraction(Uri uri) { 67 68 } 69 }

Android界面編程--使用活動條(ActionBar)--實現Tab導航