• Android_menu_SubMenu


    menu.xml

    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 嵌套菜单
            1.在item中添加menu标签,menu标签中再添加item标签
            2.二级菜单以对话框形式出现,最多两级菜单-->
        <item 
            android:id="@+id/menu_1"
            android:title="早餐"/>
        <item 
            android:id="@+id/menu_2"
            android:title="午餐"/>
        <item 
            android:id="@+id/menu_3"
            android:title="晚餐">
            <menu>
                <item 
                    android:id="@+id/menu3_1"
                    android:title="鱼香肉丝"/>
                <item 
                    android:id="@+id/menu3_2"
                    android:title="香酥鸡块"/>
                <item 
                    android:id="@+id/menu3_3"
                    android:title="皮蛋瘦肉粥"/>
            </menu>
        </item>
    </menu>

    xml文件:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.menudemo.SubMenuDemo" >
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />
    
    </RelativeLayout>

    源代码:

    package com.example.menudemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.SubMenu;
    import android.widget.Toast;
    
    public class SubMenuDemo extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_submenu);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            /**用xml文件加载菜单栏
             * getMenuInflater().inflate(R.menu.sub_menu_demo, menu);
             */
            /**通过代码的方式添加菜单
             * 通过代码添加带有子菜单的菜单
             */
            SubMenu file = menu.addSubMenu("文件");
            file.add(1, 1, 1, "新建");
            file.add(1, 2, 1, "打开");
            file.add(1, 3, 1, "保存");
            file.setHeaderIcon(R.drawable.ic_launcher);
            file.setHeaderTitle("文件操作");
            
            SubMenu edit = menu.addSubMenu("编辑");
            edit.add(2,1,1,"复制");
            edit.add(2,2,1,"粘贴");
            edit.add(2,3,1,"剪切");
            edit.setHeaderIcon(R.drawable.ic_launcher);
            edit.setHeaderTitle("编辑操作");
            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.
            switch(item.getGroupId()){
            case 1:{
                if(item.getItemId()==1){
                    Toast.makeText(this,"点击了新建" , Toast.LENGTH_SHORT).show();
                }else if(item.getItemId()==2){
                    Toast.makeText(this,"点击了打开" , Toast.LENGTH_SHORT).show();
                }if(item.getItemId()==3){
                    Toast.makeText(this,"点击了保存" , Toast.LENGTH_SHORT).show();
                }
                break;
            }case 2:
                if(item.getItemId()==1){
                    Toast.makeText(this,"点击了复制" , Toast.LENGTH_SHORT).show();
                }else if(item.getItemId()==2){
                    Toast.makeText(this,"点击了粘贴" , Toast.LENGTH_SHORT).show();
                }if(item.getItemId()==3){
                    Toast.makeText(this,"点击了剪切" , Toast.LENGTH_SHORT).show();
                }
            }
            return super.onOptionsItemSelected(item);
        }
    }
  • 相关阅读:
    计算属性computed和watch侦听器
    .gitignore不起作用
    flex 布局
    vue-awesome-swiper
    Chrome截长屏
    JS 数组 foreach 和 map
    for-in 和 for
    边框画的三角形给shadow
    element-UI 表单图片判空验证问题
    Vue 表格内容根据后台返回状态位填充文字
  • 原文地址:https://www.cnblogs.com/fangg/p/5583484.html
Copyright © 2020-2023  润新知