使用ToolBar,要将系統預設的ActionBar隐藏掉
Toolbar放在Activity的頂部(等于廢話)
在Activity的onCreate()方法中,調用setSupportActionBar()方法,把我們的ToolBar對象傳遞進去,将我們xml中添加的ToolBar設定為我們這個Activity頁面的App Bar。
現在,我們的頁面中,應該就會有一個App Bar了,預設情況下,這個App Bar隻會顯示一個App的名字和一個帶有下拉選項的按鈕,也可以在App Bar上添加更多的選項按鈕
ToolBar允許在上面添加操作按鈕,但是因為ToolBar上空間是有限的,如果一個程式有太多的Action,那麼可以将Action添加到下拉菜單中,而不顯示在ToolBar上
可以在XML檔案中定義所有我們想添加的操作按鈕和下拉清單中的行為,如果想要添加Action,可以在 res/目錄下建立一個新的XML檔案,添加元素。例如這樣
App:showAsAction 屬性是用來設定Action顯示在哪,如果我們設定 app:showAsAction =”ifRoom”(示例中最常用的一種方式) ,這個Action将顯示在ToolBar上,如果ToolBar上沒有足夠的控件,則顯示在下拉菜單中。如果在程式中設定為 app:showAsAction=”never”,那麼這個Action将永遠顯示在下拉清單中,而不會顯示在ToolBar上。
當使用者選擇了一個Action後,系統會回調 onOptionsItemSelected() 方法并傳遞 MenuItem 對象,在 onOptionsItemSelected() 的實作中,調用 MenuItem.getItemId() 方法來确定按下了哪個項目。傳回的 ID 與您在相應的 元素 android: id 屬性中聲明的值比對。 例如下面
應用為了使使用者可以友善的回到主界面,ToolBar可以添加一個按鈕,直接傳回到指定的主界面。

需要在清單檔案中通過設定 android: parentActivityName 屬性聲明,如果要支援舊版本的Android裝置,需要定義 ,類似這樣:
若要使用傳回的按鈕,需要調用setDisplayHomeAsUpEnabled()方法,類似這樣:
和上面 添加并處理一個Action 類似,隻不過設定 showAsAction 為 “ifRoom|collapseActionView” 或者 “never|collapseActionView” 就可以了,類似這樣
這裡我們添加的是一個帶有搜尋功能的Search按鈕,如果我們要自定義一個自己的按鈕,不添加 actionViewClass 即可 如果想要配置這個Action,可以在 onCreateOptionsMenu() 的回調裡通過 getActionView() 擷取到Search對象,類似這樣: