文章目录
1 Menu介绍
1.1 Menu的发展
3.0以前的Menu:
- 在Android3.0,当用户按“菜单”按钮时,选项菜单的内容会出现在屏幕底部,可包含多达 6 个菜单项,超出部分则以“更多”来显示。

3.0以后的Menu:
- 在Android3.0及更高版本的系统中,选项菜单中的项目将出现在操作栏中,用户通过操作栏右侧的操作或者点击设备菜单按钮来溢出菜单图标。

1.2 菜单的分类
Menu分类
- 选项菜单(OptionMenu)
- 上下文菜单(ContextMenu)
- 弹出菜单(PopupMenu)
2 选项菜单(OptionMenu)
选项菜单是一个应用的主菜单项,用于放置对应用产生全局影响的操作,如搜索/设置。

2.1 选项菜单的xml文件及java文件
选项菜单我们需要创建在res目录下,如下图所示:

xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!--showAsAction属性值:always :直接在标题栏显示
never:不显示
withText:控制图标和文本一起显示
ifRoom:有空间就显示-->
<item android:title="保存"
android:id="@+id/save"
android:icon="@mipmap/ic_launcher"
app:showAsAction="always"/>
<item android:title="设置"
android:id="@+id/setting"/>
<item android:title="更多操作" >
<menu >
<item android:title="退出"
android:id="@+id/exit"/>
<item android:title="子菜单2" />
<item android:title="子菜单3" />
</menu>
</item>
</menu>
对应的java文件如下:
package com.example.para_huang.imoocapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.ActionMode;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建OptionMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//加载菜单资源
//通过XML资源来设计menu
//getMenuInflater().inflate(R.menu.option,menu);
//纯java代码设计menu
/*
设置
更多
添加
删除
*/
// Menu
//参数1:组id 参数2:菜单项id 参数3:序号 参数4:设置
menu.add(1, 1, 1,"设置");
SubMenu sub = menu.addSubMenu(1

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



