ActionBar / Menu

官網參考:ActionBar, Menushtml

首先Menus包括: Option Menu, Contextual Menu, Popup Menu; 在Android2.3和Android 3.0 ,當創業Option Menu和Contextual Menu的形態是不同的,在Android3.0後,建立的Option Menu就會體如今ActionBar中;android

2.3的樣子以下:
Menu2.3api

3.0以後就變成以下: actionBarapp

若是你想要2.1以後支持androidBar,須要使用v7, ActionBarActivity, v4..app.FragmentActivity,而且在Manifest.xml中配置支持ActionBar的樣式ide

<activity android:theme="@style/Theme.AppCompat.Light" ... >
  1. Option Menuui

    // 這個方法,在android2.3以前,是顯示底部,前最多顯示6個,超過6個,顯示更多,可是3.0後,就顯示在ActionBar上面了, 也就是ActionBar
     onCreateOptionsMenu(): 通常只建立一次
    
     onOptionsItemSelected: 
    
     onPrepareOptionsMenu(): 2.3每次呼出前都執行一次, 3.0使用invalidateOptionsMenu()激發修改Menu
  2. Contextual Menusthis

    onCreateContextMenu()
     onContextItemSelected()

    2.3以前是左邊的樣子, 3.0以後是右邊的樣子(須要設置ActionModel) http://developer.android.com/images/ui/menu-context.pngcode

    getActivity.startActionMode(ActionMode.callback)

使用場景在listView和GridView中比較多; listview.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL)xml

  1. PopMenu

API level 11 , android 3.0htm

http://developer.android.com/images/ui/popupmenu.png

public void showPopup(View v) {
		PopupMenu popup = new PopupMenu(this, v);
		MenuInflater inflater = popup.getMenuInflater();
		inflater.inflate(R.menu.actions, popup.getMenu());
		popup.show();
	}
	
	onMenuItemClick()
  1. Menu Goup

    一組menu, 單選模式,多選模式,

  2. SplitActionBar(和Menu就沒什麼關係了,也是一種ActionBar)

在屏幕的底部, 最低api 14, 也能夠支持老版本,固然是7之後的

  1. AddActionView

    yourapp:actionViewClass="android.support.v7.widget.SearchView"
  2. 能夠收縮的ActionView, 須要最後面那個Button, 如圖所示的3位子

  3. ActionProvider

    yourapp:actionProviderClass="android.support.v7.widget.ShareActionProvider"
  4. Navigation Tabs

    ActionBar.newTab()
  5. Drop-Down Navigation

    setNavigationMode(NAVIGATION_MODE_LIST)
    SpinnerAdapter, 
    actionBar.setListNavigationCallbacks()
  6. ActionBar自定義樣式

相關文章
相關標籤/搜索