zoukankan      html  css  js  c++  java
  • android 子菜单

    <!-- 定义基础布局LinearLayout -->
    <LinearLayout 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"
        android:orientation="vertical">
        <!-- 定义TextView控件 -->
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="请点击物理菜单键显示菜单,再次点击菜单选项显示子菜单"
            />
    </LinearLayout>
    package com.example.yanlei.yl2;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.SubMenu;
    import android.widget.Toast;
    
    //导入必备的包
    
    
    
    public class MainActivity extends AppCompatActivity {
    
        //定义Menu中每个菜单选项的Id
        final int Menu_1 = Menu.FIRST;
        final int Menu_2 = Menu.FIRST + 1;
        final int Menu_3 = Menu.FIRST + 2;
        final int Menu_4 = Menu.FIRST + 3;
        final int Menu_5 = Menu.FIRST + 4;
        final int Menu_6 = Menu.FIRST + 5;
        final int Menu_7 = Menu.FIRST + 6;
        final int Menu_8 = Menu.FIRST + 7;
        final int Menu_9 = Menu.FIRST + 8;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState); // 调用父类的onCreate方法
            // 通过setContentView方法设置当前页面的布局文件为activity_main
            setContentView(R.layout.activity_main);
        }
    
        //创建Menu菜单的回调方法
        public boolean onCreateOptionsMenu(Menu m) {
            //定义子菜单,然后添加到Menu中
            SubMenu fileMenu = m.addSubMenu("新建");
            //在菜单选项的子菜单中添加选项内容
            //add方法的参数:add(分组id,itemid, 排序, 菜单文字)
            fileMenu.add(0, Menu_1, 0, "文件1");
            fileMenu.add(0, Menu_2, 0, "文件2");
            fileMenu.add(0, Menu_3, 0, "文件3");
    
            SubMenu openMenu = m.addSubMenu("打开");
            //在菜单选项的子菜单中添加选项内容
            //add方法的参数:add(分组id,itemid, 排序, 菜单文字)
            openMenu.add(0, Menu_4, 0, "文件4");
            openMenu.add(0, Menu_5, 0, "文件5");
            openMenu.add(0, Menu_6, 0, "文件6");
    
            SubMenu saveMenu = m.addSubMenu("保存");
    
            //在菜单选项的子菜单中添加选项内容
            //add方法的参数:add(分组id,itemid, 排序, 菜单文字)
            saveMenu.add(0, Menu_7, 0, "文件7");
            saveMenu.add(0, Menu_8, 0, "文件8");
            saveMenu.add(0, Menu_9, 0, "文件9");
            return super.onCreateOptionsMenu(m);
        }
    
        //Menu菜单选项的选项选择的回调事件
        public boolean onOptionsItemSelected(MenuItem item) {
            //参数为用户选择的菜单选项对象
            //根据菜单选项的id来执行相应的功能
            switch (item.getItemId()) {
                case 1:
                    Toast.makeText(this, "新建文件1", Toast.LENGTH_SHORT).show();
                    break;
                case 2:
                    Toast.makeText(this, "新建文件2", Toast.LENGTH_SHORT).show();
                    break;
                case 3:
                    Toast.makeText(this, "新建文件3", Toast.LENGTH_SHORT).show();
                    break;
                case 4:
                    Toast.makeText(this, "打开文件4", Toast.LENGTH_SHORT).show();
                    break;
                case 5:
                    Toast.makeText(this, "打开文件5", Toast.LENGTH_SHORT).show();
                    break;
                case 6:
                    Toast.makeText(this, "打开文件6", Toast.LENGTH_SHORT).show();
                    break;
                case 7:
                    Toast.makeText(this, "保存文件7", Toast.LENGTH_SHORT).show();
                    break;
                case 8:
                    Toast.makeText(this, "保存文件8", Toast.LENGTH_SHORT).show();
                    break;
                case 9:
                    Toast.makeText(this, "保存文件9", Toast.LENGTH_SHORT).show();
                    break;
            }
            return super.onOptionsItemSelected(item);
        }
    }
  • 相关阅读:
    对象数组化 Object.values(this.totalValueObj).forEach(value => {
    禅道
    Ant Design Ant Design 实战教程(beta 版) 在 model 中请求服务端数据
    react 环境搭建
    返回运行方法,可以写在一行 callback&&callback()
    computed 里面 不能写箭头函数 都要写 function () {} 否则页面会都不显示
    webStorm -> Version Control _> Repository -> Filter By User 查看svn日志
    created:异步初始化数据都应该放到 created里面
    收藏夹
    keep-alive 必须 页面有name 要不缓存不住数据
  • 原文地址:https://www.cnblogs.com/gisoracle/p/5012021.html
Copyright © 2011-2022 走看看