optionMenu是什麼呢?就是你的APP頂部欄右側可以點擊的那三個點點,上圖
效果就這樣收上去就是圖一,點擊彈出來就是圖二的效果
首先要在res文件夾下創建一個menu文件夾,在在menu文件夾下創建一個xml文件文件叫啥名兒隨意,我就叫menu,畢竟取名字比較麻煩
如圖
然後就編輯menu文件裏面的內容了例如
關於item 用法和安卓的其他控件一毛一樣,都可以有ID 點擊事件
android:checkable="true" 會出現複選框的樣式
item 裏面可以繼續嵌套menu , menu裏面就可以繼續嵌套item 依此循環,能套多少層沒試過
但是item不能直接套item
例如
<item android:title="擴展菜單"
>
<menu>
<item
android:icon="@mipmap/ic_launcher"
android:title="123"
></item>
<item
android:icon="@mipmap/ic_launcher"
android:title="456"></item>
</menu>
</item>
但是很奇怪的就是第一層的菜單裏面加icon圖標並不能顯示出來
擴展之後的就沒問題
完整界面XML如下
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="菜單"
android:checkable="true"
>
</item>
<item
android:checkable="false"
android:id="@+id/menu"
android:title="不知道">
</item>
<item
android:icon="@mipmap/ic_launcher"
android:title="213"></item>
<item android:title="擴展菜單"
>
<menu>
<item
android:icon="@mipmap/ic_launcher"
android:title="123"
></item>
<item
android:icon="@mipmap/ic_launcher"
android:title="456"></item>
</menu>
</item>
</menu>
然後最後就是在activity中重寫onCreateOptionsMenu(Menu menu)這個方法
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu);
return true;
}
}
然後就是各種點擊事件的處理。。。