zoukankan      html  css  js  c++  java
  • Android 菜单 之 上下文菜单ContextMenu

    所谓上下文菜单就是当我们长按某一个文件时弹出的菜单

    操作这个菜单我们要重写onCreateContextMenu()方法

    如上一篇文章一样,对于这个菜单中选型的操作也有动态添加和xml文件添加两种方法

    首先是动态添加

     @Override
        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
            super.onCreateContextMenu(menu, v, menuInfo);
            menu.setHeaderTitle("文件操作"); //上下文菜单的标题
            menu.setHeaderIcon(R.mipmap.ic_launcher);//图标
            menu.add(1,1,1,"复制");
            menu.add(1,2,1,"粘贴");
            menu.add(1,3,1,"剪切");
            menu.add(1,4,1,"重命名");
    
    
        }
    

     然后是xml文件添加

       @Override
        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
            super.onCreateContextMenu(menu, v, menuInfo);
            menu.setHeaderTitle("文件操作"); //上下文菜单的标题
            menu.setHeaderIcon(R.mipmap.ic_launcher);//图标
            MenuInflater infalter = getMenuInflater(); //
            infalter.inflate(R.menu.main,menu);//实例化main布局
    
        }
    

    xml文件的布局

    <menu xmlns:android="http://schemas.android.com/apk/res/android">
        <item
            android:id="@+id/menu_item1"
            android:orderInCategory="100" <!--  决定菜单中选项的排列顺序 数字越大优先级越低,排位越靠后-->
            android:showAsAction="never"     <!--  表示是否默认显示出来-->
            android:title="复制"></item>
        <item
            android:id="@+id/menu_item2"
            android:orderInCategory="100"
            android:showAsAction="never"
            android:title="粘贴"></item>
        <item
            android:id="@+id/menu_item3"
            android:orderInCategory="100"
            android:showAsAction="never"
            android:title="剪切"></item>
        <item
            android:id="@+id/menu_item4"
            android:orderInCategory="100"
            android:showAsAction="never"
            android:title="重命名"></item>
    </menu>
    

     对ContextMenu的监听

      @Override
        public boolean onContextItemSelected(MenuItem item) {
            switch (item.getItemId()){
                case R.id.menu_item1:
                    Toast.makeText(MainActivity.this, "你选择了复制", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.menu_item2:
                    Toast.makeText(MainActivity.this, "你选择了粘贴", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.menu_item3:
                    Toast.makeText(MainActivity.this, "你选择了剪切", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.menu_item4:
                    Toast.makeText(MainActivity.this, "你选择了重命名", Toast.LENGTH_SHORT).show();
                    break;
            }
            return super.onContextItemSelected(item);
        }
    
  • 相关阅读:
    Centos 6 安装python2.7.6
    更新centos系统的python版本
    centos中wget的使用方法
    开启apahce的mod_speling.so模块,让使用apahce http服务器不再有大小写烦恼
    开启server-status失败
    TCP三次握手与四次挥手
    GitHub入门和项目托管
    使用javac,手动编译一个java文件的方法
    《TomCat与Java Web开发技术详解》(第二版) 第四章节的学习总结--常用Servlet API
    《TomCat与Java Web开发技术详解》(第二版) 第三章节的学习总结--利用Context元素来自定义web应用的存储位置
  • 原文地址:https://www.cnblogs.com/tonghao/p/5723514.html
Copyright © 2011-2022 走看看