使用xml定義Menu
菜單資源文件必須放在res/menu目錄中。菜單資源文件必須使用<menu>標簽作為根節點。除了<menu>標簽外,還有另外兩個標簽用於設置菜單項和分組,這兩個標簽是<item>和<group>
<menu>沒有任何屬性,但可以簽套在<item>標簽中,表示子菜單的形式,不過<item>標簽中不能再嵌套<item>標簽
1.<item>標簽的屬性含義如下:
Id:表示菜單項的資源ID
icon:菜單項圖標資源ID
showAsAction:屬性有五個之:ifroom、never、always、withText、collapseActionView
ifroom:會顯示在Item中,但是如果已經有4個一晌的Item時會隱藏在溢出列表中。當然個數並不僅僅局限於四個,包括屏幕的寬窄而定。
never:永遠不會顯示。只在溢出列表中顯示,而且只顯示標題,所以在定義Item時,最好把標題都帶上
always:無論是否已出,總會顯示
withText:示意ActionBar要顯示文本的標題。ActionBar會盡可能的顯示這個標題,但是,如果圖標有效並且受到ActionBar空間的限制,文本標題就有可能顯示不全
collapseActionView:聲明了這個操作視窗應該被折疊到一個按鈕中,當用戶選擇這個按鈕時,這個操作視窗展開。否則,這個操作視窗在默認的情況下是可見的,並且即便在用於不適用的時候,也要戰還有操作欄的有效空間,一般要配合ifRoom一起使用才有效
就想家在menu一樣,在activity的onCreateOptionsMenu方法里調用上述的xml文件:
getMenuInflater().inflate(R.menu.options, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search)
.getActionView();