Android之菜单选项子菜单submenu(二)

子菜单(Submenu),可以在任意一个Menu中的item添加一个Submenu,除了submenu,也就是说,子菜单中不可以再添加子菜单(Submenu)。

什么时候用到子菜单?类似PC的应用菜单(文件,编辑,查看等)。

新建android_Menu_Submenu工程中menu文件夹下的main.xml中

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.android_menu_submenu.MainActivity" >

     <item android:id="@+id/file"
          android:title="@string/file" >
        <!-- "file" submenu -->
        <menu>
            <item android:id="@+id/create_new"
                  android:title="@string/create_new" />
            <item android:id="@+id/open"
                  android:title="@string/open" />
        </menu>
    </item>

</menu>
strings.xml中

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">android_Menu_Submenu</string>
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>

    <string name="file">文件</string>
    <string name="create_new">新建</string>
    <string name="open">打开</string>
</resources>
MainActivity.java中

package com.example.android_menu_submenu;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends Activity{

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	/**
	 * 通常表示处理一级菜单选项的
	 */
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		return super.onOptionsItemSelected(item);
	}
	
	/**
	 * 通常表示处理二级菜单选项的
	 */
	 @Override
	    public boolean onMenuItemSelected(int featureId, MenuItem item) {
	    	// TODO Auto-generated method stub
	    	switch (item.getItemId()) {
			case R.id.create_new:
				
				Toast.makeText(MainActivity.this, "create_new", 1).show();
				//Intent intent = new Intent(packageContext, cls);
				//startActivity(intent);
				break;

			case R.id.open:
				Toast.makeText(MainActivity.this, "open", 1).show();
				break;
			}
	    	return super.onMenuItemSelected(featureId, item);
	    }
}
运行效果图

依次点击手机menu->文件->新建出现下图

                             

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值