精华内容
下载资源
问答
  • Android Menu

    2014-07-09 19:22:05
    Android Menu 1、Android一共有三种形式的菜单: (1)选项菜单(OptionsMenu) (2)上下文菜单(ContextMenu) (3)子菜单(SubMenu) 2、OptionsMenu详解 (1)public boolean onCreateOptionsMenu(Menu menu...

    Android Menu
    1、Android一共有三种形式的菜单: 
    (1)选项菜单(OptionsMenu)
    (2)上下文菜单(ContextMenu)
    (3)子菜单(SubMenu)
    2、OptionsMenu详解 
    (1)public boolean onCreateOptionsMenu(Menu menu)
    此方法用于初始化菜单,其中menu参数就是即将要显示的Menu实例。返回true则显示该menu,false则不显示。(只会在第一次初始化菜单时调用)
    (2)public boolean onPrepareOptionsMenu(Menu menu)
    在onCreateOptionsMenu执行后,菜单被显示前调用。同样的,返回true则显示该menu,false则不显示。
    (3)public void onOptionsMenuClosed(Menu menu)
    每次菜单被关闭时调用。(菜单被关闭有三种情形,menu按钮被再次点击、back按钮被点击或者用户选择了某一个菜单项)           
    (4)public boolean onOptionsItemSelected(MenuItem item)
    菜单项被点击时调用,也就是菜单项的监听方法。
    3、添加菜单 
    可以在onCreateOptionsMenu或者onPrepareOptionsMenu方法中添加菜单。使用menu.add()方法。

    展开全文
  • android Menu

    2015-12-17 12:16:02
    android中的菜单  菜单是一种常见的应用程序与用户交互的方式,他使用类似列表的形式显示用户可以操作的功能  ,而用户则可以通过菜单来选择要执行的操作,应用程序也可以对用户的选择进行相关的响应。 ...
     android中的菜单


       菜单是一种常见的应用程序与用户交互的方式,他使用类似列表的形式显示用户可以操作的功能
       ,而用户则可以通过菜单来选择要执行的操作,应用程序也可以对用户的选择进行相关的响应。


       选项菜单
             选项菜单(OptionsMenu)是通过点击设备上Menu建弹出的菜单;
     子菜单(SubMenu)是选择某个菜单项后,再次弹出的下级菜单。
     上下文菜单(ContextMenu)是通过长按(通常是2秒)某个控件后显示的菜单;
                使用资源文件创建选项菜单

             选项菜单 通过res\menu下的XML文件可以配置选项菜单。

    <menu xmlns:android="http://schems.android.com/apk/res/android"
    		  xmls:tools="http://schemas.android.com/tools"
    		  tools:context="cn.edu.menu.MainActivity">
    		  <item
    		     android:id="@+id/action_setings"
    		     android:orderInCategory="100"
    		     android:showAsAction="never"
    		     android:title="@string/action_settings"/>
    		     </menu>

    在Activity中的onCreateOptionsMenu()方法将用于实现选项菜单的加载,通常使用开发工具创建Activity
    时,对应的部分代码已自动生成:

     public boolean onCreateOptionMenu(Menu menu){
    		       getMenuInflater().inflate(R.menu.main,menu);
    		       return true;
    		       }

    在Activity中的onOptionsItemSelected()方法将用于选项菜单中菜单项的响应,通常使用开发工具创建Activity时
    ,对应的代码已经自动生成:

    public boolean onOptionsItemSelected(Menuitem item){
    			      int id = item.getItemId();
    			      if(id==R.id.action_settings){
    			      return true;
    			      }
    			      return super.onOptionsItemSelected(item);
    			   }

    通常在配置选项菜单时,需要为每个菜单项配置如下属性:
         id:菜单项的ID标识,用于响应菜单项时,判断当前点击的哪个菜单项;
         orderInCategory:序号,即存在多个菜单项时的排序,取值为整数,数值越小,则越靠前显示,数值越大
         ,则越靠后显示;
         showAsAction:将菜单项显示在ActionBar上,取值为枚举型,包括never、always、ifRooms、withText、collapseActionView;
         title:菜单项上显示的文字。

         实例:

     <menu xmlns:android="http://schems.android.com/apk/res/android"
    		  xmls:tools="http://schemas.android.com/tools"
    		  tools:context="cn.edu.menu.MainActivity">
    		  <item
    		     android:id="@+id/action_file"
    		     android:orderInCategory="101"//菜单项的排列顺序
    		     android:showAsAction="never"
    		     android:title="file"/>
    		      <item
    		     android:id="@+id/action_refactor"
    		     android:orderInCategory="103"
    		     android:showAsAction="never"
    		     android:title="Refactor"/>
    		     <item
    		     android:id="@+id/action_edit"
    		     android:orderInCategory="102"
    		     android:showAsAction="never"
    		     android:title="Edit"/>
    		     </menu>
    
    
    		     Activity:
    
    		     public boolean onOptionsItemSelected(Menuitem item){
    			      int id = item.getItemId();
    			      switch(id){
    			      case R.id.action_file:
    			         Toast.makeText(this,"您选择了File",Toast。LENGTH_SHORT).show();
    				 break;
    			      case R.id.action_edit:
    			         Toast.makeText(this,"您选择了Edit",Toast。LENGTH_SHORT).show();
    				 break;
    			      case R.id.action_refactor:
    			         Toast.makeText(this,"您选择了Refactor",Toast。LENGTH_SHORT).show();
    				 break;
    				 }
    			      return super.onOptionsItemSelected(item);
    			   }

    实用程序代码创建选项菜单
          Menu类中定义的创建菜单项的方法:

     public MenuItem add(int groupId,int itemId,int order,CharSequence title)
    		   public MenuItem add(int groupId,int itemId,int order,int titleRes)

     private static final int MENU_FILE_ID = 9527;
          private static final int MENU_EDIT_ID = 1111;
          private static final int MENU_REFACTOR_ID = 2222;
          private static final int MENU_WINDOW_ID = 3333;
          private static final int MENU_HELP_ID = 4444;
    	public boolean onCreateOptionsMenu(Menu menu){
    	menu.add(Menu.NONE,MENU_FILE_ID,1,"File");
    	menu.add(Menu.NONE,MENU_HELP_ID,5,"Help");
    	menu.add(Menu.NONE,MENU_WINDOW_ID,4,"Window");
    	menu.add(Menu.NONE,MENU_REFACTOR_ID,3,"Refactor");
    	menu.add(Menu.NONE,MENU_EDIT_ID,2,"Edit");
    	return true;
    	}
            
    	public boolean onOptionsItemSelected(Menuitem item){
    			      int id = item.getItemId();
    			      switch(id){
    			      case MENU_FILE_ID:
    			         Toast.makeText(this,"您选择了File",Toast。LENGTH_SHORT).show();
    				 break;
    			      case MENU_EDIT_ID:
    			         Toast.makeText(this,"您选择了Edit",Toast。LENGTH_SHORT).show();
    				 break;
    			      case MENU_REFACTOR_ID:
    			         Toast.makeText(this,"您选择了Refactor",Toast。LENGTH_SHORT).show();
    				 break;
    			      case MENU_WINDOW_ID:
    			         Toast.makeText(this,"您选择了Window",Toast。LENGTH_SHORT).show();
    				 break;
    			      case MENU_HELP_ID:
    			         Toast.makeText(this,"您选择了Help",Toast。LENGTH_SHORT).show();
    				 break;
    				 }
    			      return super.onOptionsItemSelected(item);
    			   }

    为选项菜单添加子菜单
       选项菜单的子菜单(SubMenu)亦可通过配置文件或程序代码创建:
          通过配置文件创建子菜单:为原有的上级菜单项的<item>节点添加<menu>子节点,
          并在<menu>子节点下再添加若干个<item>节点进行配置;


          通过程序代码创建子菜单:调用Menu对象的addSubMenu()创建一般菜单项,通过
          返回值SubMenu对象创建子菜单。


     private static final int MENU_FILE_ID = 9527;
          private static final int MENU_EDIT_ID = 1111;
          private static final int MENU_REFACTOR_ID = 2222;
          private static final int MENU_WINDOW_ID = 3333;
          private static final int MENU_HELP_ID = 4444;
          private static final int MENU_SOURCE_ID = 8888;
    	public boolean onCreateOptionsMenu(Menu menu){
    	menu.add(Menu.NONE,MENU_FILE_ID,1,"File");
    	menu.add(Menu.NONE,MENU_HELP_ID,5,"Help");
    	menu.add(Menu.NONE,MENU_WINDOW_ID,4,"Window");
    	menu.add(Menu.NONE,MENU_REFACTOR_ID,3,"Refactor");
    	menu.add(Menu.NONE,MENU_EDIT_ID,2,"Edit");
    
    	SubMenu subMenu = menu.addSubMenu(Menu.NONE,MENU_SOURCE_ID,4,"source");
    	subMenu.add(Menu.NONE,0,1,"Format");
    	subMenu.add(Menu.NONE,1,2,"Clean Up");
    	return true;
    	}

    通过配置文件设置:


    public boolean onCreateOptionMenu(Menu menu){
    		       getMenuInflater().inflate(R.menu.main,menu);
    		       return true;
    		       }
    
                   <menu xmlns:android="http://schems.android.com/apk/res/android"
    		  xmls:tools="http://schemas.android.com/tools"
    		  tools:context="cn.edu.menu.MainActivity">
    		  <item
    		     android:id="@+id/action_file"
    		     android:orderInCategory="101"//菜单项的排列顺序
    		     android:showAsAction="never"
    		     android:title="file">
    		        <menu>
    			     <item
    		     android:id="@+id/action_file_open"
    		     android:orderInCategory="1022"
    		     android:showAsAction="never"
    		     android:title="Open"/>
    		     <item
    		     android:id="@+id/action_file_save"
    		     android:orderInCategory="1012"
    		     android:showAsAction="never"
    		     android:title="Save"/>
    		     </item>
    		      <item
    		     android:id="@+id/action_refactor"
    		     android:orderInCategory="103"
    		     android:showAsAction="never"
    		     android:title="Refactor"/>
    		     <item
    		     android:id="@+id/action_edit"
    		     android:orderInCategory="102"
    		     android:showAsAction="never"
    		     android:title="Edit"/>
    		     </menu>

    创建上下文菜单
              通过重写Activity的onCreateContextMenu()方法可以初始化上下文菜单,菜单项的创建方式
      与在选项菜单中创建菜单项相同;


      需要调用registerForContextMenu(View view)方法将上下文菜单注册到某个控件之上;


      通过重写Activity的onContextMenuSelected()方法可以相应上下文菜单中的选中事件。


     private ImageView imageview;
    
    	   registerForContextMenu(imageview);
    
    	   private static final int MENU_CHANGE_ID = 9521;
    	   private static final  int MENU_SAVE_ID =9522;
    
    	   public void onCreateContextMenu(ContextMenu menu,View v,
    	       ContextMenuInfo menuInfo){
    	          menu.add(Menu.NONE,MENU_CHANGE_ID,1,"Change");
    		  menu.add(Menu.NONE,MENU_SAVE_ID,2,"Save");
    		  super.onCreateContextMenu(menu,v,menuInfo);
    	       }
    
    	       public boolean onContextItemSelected(MenuItem item){
    	           switch(item.getItemId()){
    		      case MENU_CHANGE_ID:
    		         
    			   break;
                          case MENU_SAVE_ID:
    		         
    			   break;
    		   
    		      
    		   }
    		   return super.onContextItemSelected(item);
    	       }

    在ListView中创建上下文菜单


    展开全文
  • Android menu

    2012-11-21 12:50:54
    menu 在res文件夹下新建一个menu文件夹. 在menu文件夹下新建一个menu.xml.选择类型为menu. android:title="关闭应用程序"/> android:title="关闭应用程序当前界面"/> 在主Activity中实现...
    menu
    在res文件夹下新建一个menu文件夹.
    在menu文件夹下新建一个menu.xml.选择类型为menu.
    <?xml ersion="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.andorid.com/apk/res/android">
    <item android:id="@+id/close"
    android:title="关闭应用程序"/>
    <item android:id="@+id/close"activity
    android:title="关闭应用程序当前界面"/>
    </menu>
    在主Activity中实现onCreateOptionsMenu(Menu menu)方法.
    该方法用于创建选项菜单,在用户按下手机的“Menu”按钮时就会显示创建好的菜单.
    在onCreateOptionsMenu(Menu menu)方法内部可以调用Menu.add()方法实现菜单的添加。
    也要重写Activity的onMenuItemSelected()方法,该方法用于处理菜单被选择事件.
    //当点击了手机硬件的menu的按钮的时候调用此方法
       public boolean onCreateOptionsMenu(Menu menu) {
    //menu.add(Menu.NONE, MENU_ADD, Menu.NONE, "添加");  
    //menu.add(Menu.NONE, MENU_UPDATE, Menu.NONE, "更新");
     //用一个menu填充器来填充menu菜单
    MenuInflater inflater = new MenuInflater(this);
    inflater.inflater(R.menu.menu,menu);
    return super.onCreateOptionsMenu(menu);
        }
         //menu的点击事件
        public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch (item.getItemId()) {
      case MENU_ADD:
           Log.i(TAG, "add was selected");
           return true;
      case MENU_UPDATE:public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(Menu.NONE, MENU_ADD, Menu.NONE, "添加");  
    menu.add(Menu.NONE, MENU_UPDATE, Menu.NONE, "更新");
    return super.onCreateOptionsMenu(menu);
     }    
    展开全文
  • Android MENU

    千次阅读 2011-09-19 09:59:00
    原文出自:http://blog.csdn.net/flowingflying/article/details/6317632 Menu由两种形式,Option menu和Context menu。前者是按下设备的Menu硬按钮弹出,后者是长按wid

    原文出自:http://blog.csdn.net/flowingflying/article/details/6317632




    Menu由两种形式,Option menu和Context menu。前者是按下设备的Menu硬按钮弹出,后者是长按widget弹出。

    Option Menu

    当我们按下Menu的硬件按钮时,Option Menu将被触发显示,最多可以显示6个选项的icon菜单,如果选项多于6个,第6个选项显示为“More“,点击可以进入扩展菜单。我们将在Android学习笔记(十一):Activity-ListView的例子一的基础上来学习Option Menu,也就是一个基于activity的菜单。

    在这个例子中,我们给出一个有7个选项(多余最多显示6个item)的例子,可以设置List中item之间分割线的粗细。

    步骤1:创建Menu

    1.1 设置Menu各个item的ID

        private static final int EIGHT_ID = Menu.FIRST +1;
        private static final int SIXTEEN_ID = Menu.FIRST+2;
        private static final int TWENTY_FOUR_ID = Menu.FIRST+3;
        private static final int TWO_ID = Menu.FIRST+4;
        private static final int THIRTY_TWO_ID = Menu.FIRST+5;
        private static final int FORTY_ID = Menu.FIRST+6;
        private static final int ONE_ID = Menu.FIRST+7;

    其中Menu.FIRST在reference中描述为:First value for group and item identifier integers.我们可以理解为ID设置的最小数值。

    1.2 创建Menu

    在用户第一次按下Menu键的使用,将触发onCreateOptionsMenu(),我们将在此创建我们的菜单

        public boolean onCreateOptionsMenu(Menu menu) {
            /*第一个参数是groupId,如果不需要可以设置为Menu.NONE。将若干个menu item都设置在同一个Group中,可以使用setGroupVisible(),setGroupEnabled(),setGroupCheckable()这样的方法,而不需要对每个item都进行setVisible(), setEnable(), setCheckable()这样的处理,这样对我们进行统一的管理比较方便
           * 第二个参数就是item的ID,我们可以通过menu.findItem(id)来获取具体的item
           * 第三个参数是item的顺序,一般可采用Menu.NONE,具体看本文最后MenuInflater的部分
           * 第四个参数是显示的内容,可以是String,或者是引用Strings.xml的ID*/
            menu.add(Menu.NONE,ONE_ID,Menu.NONE,"1 Pixel");
            menu.add(Menu.NONE, TWO_ID, Menu.NONE, "2 Pixels");
            menu.add(Menu.NONE, EIGHT_ID, Menu.NONE, "8 Pixels");
            menu.add(Menu.NONE, SIXTEEN_ID, Menu.NONE, "16 Pixels");
            menu.add(Menu.NONE, TWENTY_FOUR_ID, Menu.NONE, "24 Pixels");
            menu.add(Menu.NONE, THIRTY_TWO_ID, Menu.NONE, "32 Pixels");
            menu.add(Menu.NONE, FORTY_ID, Menu.NONE, "40 Pixels");

            return super.onCreateOptionsMenu(menu);
        }

    如果我们需要增加图标,也很简单,如下。

            MenuItem item1 = menu.add(Menu.NONE,ONE_ID,Menu.NONE,"1 Pixel");
            item1.setIcon(R.drawable.android_normal);

    运行,按Menu键,可以获得我们的Menu,如下图,第一个图是显示效果,第二个图是按了菜单中的More后显示的效果,第三个图我们在上面的基础上,再增加三个item,按More后的显示效果。

    步骤2:Menu触发

    Menu触发比较简单,Activity在Memu后会触发onOptionsItemSelected()进行处理。如下:

        public boolean onOptionsItemSelected(MenuItem item) {
            ... ... 加入我们的处理 ... ...
            return super.onOptionsItemSelected(item);
        }

    在这个例子我们加入的处理如下。右图为选择24pix的显示结果

                switch (item.getItemId()) { //获取Id
                  case ONE_ID:
                    getListView().setDividerHeight(1);
                    break;
                  case EIGHT_ID:
                    getListView().setDividerHeight(8);
                    break;

                  ... 类同,设置分割线的粗细,略去... 
                  default:
                    break;
                }

    步骤3:增加某些变化

    在上面的步骤中,已经学习了Option Menu的基本处理,但是我们需要增加一些变化

    3.1 每次显示menu时根据实际的情况进行适配

    onCreateOptionsMenu()只在第一次按Menu按键时触发,有些时候,我们希望每次显示的菜单有一些变化,例如这个例子中,我们希望菜单不显示当前的分割线高度,只出现需要改变的高度,如图所示,当分割线为16pix时,菜单将不出现16pix的item。这样可以使用onPrepareOptionsMenu()。当用户第一次按Menu键时,先执行onCreateOptionsMenu( ),然后执行onPrepareOptionsMenu();当用户第二次,第三次,第N次按Menu建时,执行onPrepareOptionsMenu(),因此我们可以在onPrepareOptionsMenu()中处理每次的变化。本例如下

        public boolean onPrepareOptionsMenu(Menu menu) {
            /* 将所有的item设置有可视,好烦,想起了设置GourpID的好处,可以使用menu.setGroupVisible(Menu.NONE, true)代替。但是合理的,我们应当设置自己的GroupID,因此我们仍然每个item进行设置*/
            menu.findItem(ONE_ID).setVisible(true);
            menu.findItem(EIGHT_ID).setVisible(true);
            
    ... 类同,设置menu item可视,略去... 
            switch(getListView().getDividerHeight()){//如果需要设置的高度和当前的高度一致,不显示。
            case 1:
                menu.findItem(ONE_ID).setVisible(false); 
                break;
            case 8:
                menu.findItem(EIGHT_ID).setChecked(true);
                break;

            ... 类同,略去...
            default:
                break;
            }     
            return super.onPrepareOptionsMenu(menu);
        }

    3.2 快捷键

    现在的智能手机一般都是直板不带键盘的,但是传统手机可能代T9键盘,也可能是全键盘。Android支持快捷键,虽然可能不常用到,对于全键盘,我们可以在onCreateOptionsMenu()中加入下面代码,这样,在CTRL-A和Alt-A中都能触发。

    menu.findItem(ONE_ID).setAlphabeticShortcut('A');

    对于T9键盘,由于模拟器不是T9键盘,也没有T9的手机,最后的效果没有实验过,如下处理:

    menu.setQwertyMode(true);
    menu.findItem(TWO_ID).setNumericShortcut('2');

    3.3 设置Item显示CheckBox的格式

    我们选取了其中两item进行设置,如下:

    1)在onCreateOptionsMenu()中设置这两个item是可以显示的是否checked的状态:

            menu.findItem(EIGHT_ID).setCheckable(true);
            menu.findItem(FORTY_ID).setCheckable(true);

    2)在onPrepareOptionsMenu()中,将如何和当前状态一致这设置checked的状态,例如:

    case 8:
        menu.findItem(EIGHT_ID).setChecked(true);
        break;
    case 40:
        menu.findItem(FORTY_ID).setChecked(true);
        break;

    3)什么时候可以显示

    让我们看看这两个的显示结果,我们发现“8 pix"的情况下Menu没有发生变化,而选择40的时候,出现了变化。为什么会这样?显示的前提是有足够位置显示。在“8 pix“由于是Menu的第一页的6个item,没有足够位置,而40px是More后的采用list的形式显示,有足够的位置,因此可以显示。

    同样的,对于加Icom的例子,我们可以在第一页中看到Icon,如果通过More的方式显示后面的Icon,这个图片是看不到的,Android会给据UI情况进行适配。

    4)我们可以通过Group来处理:

    menu.setGroupCheckable(Group_id, true, false);//在这个例子中可以使用Menu.NONE作为Group_Id来实验

    第二个参数是是否允许checkable,而第三个参数很有意思,true表示可以可以单选,采用radio button的方式,如下左图,false表示可以多选,如下右图。

    步骤4:子菜单

    Android支持二级菜单,但是不支持三级等多级菜单。子菜单设置如下,在onCreateOptionsMenu(),如下:

    //通过addSubMenu设置子菜单,作为item加入Menu。参数和addMenu一致,为了简单,我们这里的ID直接采用数字表示
    SubMenu submenu = menu.addSubMenu(Menu.NONE, 100, Menu.NONE, "子菜单测试");
    //在SubMenu中增加子菜单的item
    submenu.add(Menu.NONE,101,Menu.NONE,"sub One");
    submenu.add(Menu.NONE,102,Menu.NONE,"sub Two");
    submenu.add(Menu.NONE,103,Menu.NONE,"sub Three");
    submenu.add(Menu.NONE,104,Menu.NONE,"sub Four");

    显示如下,我们是加在原有菜单之后,因此需要按More查看:

    Context Menu

    Context Menu是用户手指长按某个View触发的菜单。处理如下:

    步骤1:为某个view注册ContextMenu

    例如在我们的例子中,在onCreate()中对整个ListView进行处理:

    registerForContextMenu(getListView());

    步骤2:创建ContextMenu

    通过Override onCreateContextMenu()来创建Context Menu。如果我们为多个View都注册了ContextView,那么我们可以通过第二个参数View v来判断需要创建怎样的菜单。第三个参数ContextMenuInfo和具体的View的特性有关,如果是list,它是List这中的item,这样我们可以根据这个item的当前状态,例如是否checked来处理menu。

        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
            ... 设置Menu的处理,和Option Menu一样 ....,同样的支持子菜单
            super.onCreateContextMenu(menu, v, menuInfo);
        }

    我们每一次常按widget,都会触发onCreateContextMenu()的处理,这和Option Menu不一样。每次处理完,ContextMenu都会discard,因此我们不要保留里面的menu以及menu item对象用于其他的处理。

    步骤3:点击菜单触发函数

    触发onContextItemSelected()。这里么只有一个MenuItem,因此在程序中,每个MenuItem的ID应该是唯一的,如果我们需要获取MenuInfo,可以用item.getMenuInfo()来获得。

        public boolean onContextItemSelected(MenuItem item) {
            ...  我们的处理内容...
            return super.onContextItemSelected(item);
        }

    通过XML来定义Menu

    Android学习笔记(十七):再谈ListView中,利用LayoutInflater infalter =getLayoutInflater();从XML文件中获取Layout的样式。在Menu中也可以采用类似的方式。我们在onCreateOptionsMenu()中如下处理:

        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater menuInflater = new MenuInflater(getApplication());
            menuInflater.inflate(R.menu.chapter11_menu, menu);
            return super.onCreateOptionsMenu(menu);
        }

    其中我们在res/menu目录下面创建Menu的xml文件chapter11_menu.xml。我们通过下面的例子看看Menu XML文件如何编写:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- Menu对应一个Menu的格式 -->
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
         <!-- 我们分三种情况进行设置 -->
        
    <!-- Part 1 :普通情况,我们增加三个MenuItem,item对应MenuItem的格式。item中的android:id直接就是item的ID,即我们menu.add()中的第二个参数。-->
       
    <item android:id="@+id/c11_close"
        <!-- title为显示的文字,即menu.add()中的第三个参数的第四个参数,可采用@string/xxx -->
          android:title="Close"
         <!-- orderInCategory表明摆放的顺序,不一定从0还是计算,但必须大于等于0,数值小的位于前,如果数值一样,在我们这个例子中3又两个值,则安顺序摆放,此相当于menu.add()中的第三个参数order。当然我们建议从0,1,2,3....这样依次给出,并且与XML行文的顺序一致。-->
          android:orderInCategory = "3"
         <!-- icon设置图标,不言自喻 -->
          android:icon="@drawable/android_focused" />
         <item android:id="@+id/c11_no_icon"
           android:orderInCategory = "2"
           android:title = "Sans Icon" />

         <item android:id="@+id/c11_disabled"
           android:orderInCategory="4"
           android:enabled="false"

           android:title="Disabled" />
        
    <!-- Part 2 :Group的情况,我们在Group中放入2个item,如果我们要显示3.4的方式,可以增加group的参数android:checkableBehavior来设置,single表示radio box,all表示checkbox,none表示checkable=flase。group中的android:id就是Gourp_ID,即menu.add()中的第一个参数。在这个例子中,我们设置这个group不可视,如果需要显示,代码为:menu.setGroupVisible(R.id.c11_other_stuff, true);-->
          <groupandroid:id="@+id/c11_other_stuff"
          <!-- Item由android:orderInCategory来设置item的顺序,在Group中我们可以通过menuCategory来设置另一个category,里面的顺序和default Category是不方在一起比较,例如这里么我们给出0和5,如图所示,在显示完default Category,再显示这个sendonary的内容。 -->
            android:menuCategory="secondary"
            android:checkableBehavior="single"
            android:visible="false" >
               <item android:id="@+id/c11_later"
                 android:orderInCategory="0"
                 android:title="2nd-To-Last" />
               <item android:id="@+id/last"
                  android:orderInCategory="5"
                 android:title="Last" />

         </group>
         <!-- Part 3 :子menu的设置,将在menuItem内部嵌套一个<Menu>,在这个例子中的子菜单,试验了快捷键的方式-->
         <itemandroid:id="@+id/c11_submenu"
           android:orderInCategory="3"
           android:title="A submenu"
    >
               <menu>
                   <item android:id="@+id/c11_non_ghost"
                     android:title="Non-Ghost"
                     android:visible="true"
                     android:alphabeticShortcut="n"/>
                   <item android:id="@+id/c11_ghost"
                     android:title="Ghost"
                     android:visible="true"
                     android:alphabeticShortcut="g" />

               </menu>
          </item> <!-- end of Part 3 -->
    </menu>



    展开全文
  • android menu

    千次阅读 2011-08-10 11:58:03
    对一个Android应用中的每一个屏幕,也就是说,对每一个Activity类,都会拥有一个默认菜单。 在Activity类中,定义了几个与菜单有关的方法, 供继承于Activity类的子类去重载,从而定制我们自己的菜单。这几个方法为...
  • xamarin android menu的用法

    千次阅读 2016-09-22 13:32:45
    xamarin android menu的简单使用
  • Android Menu——OptionsMenu Android一共提供了三种形式的菜单:①选项菜单(OptionsMenu),②上下文菜单(ContextMenu),③子菜单(SubMenu)。首先选项菜单是用户点击了“Menu”键后弹出的菜单选项卡。这里...
  • Android Menu顶部菜单列表

    千次阅读 2017-02-28 21:42:05
    Android menu顶部菜单列表由于安卓手机比电脑小,为了节省空间,右上角可以添加菜单列表1.创建menu文件夹2.创建main.xml文件加入代码 <menu xmlns:android="http://schemas.android.com/apk/res/android"> an
  • Android Menu菜单栏

    千次阅读 2017-03-13 14:23:00
    Android Menu菜单栏 效果图 Android Menu菜单栏 菜单: 菜单是许多类型的应用程序中的通用用户界面组件。要提供熟悉且一致的用户体验,您应该使用MenuAPI在活动中呈现用户操作和其他选项。 在XML中定义菜单 对于...
  • Android Menu 使用

    千次阅读 2012-05-14 18:42:43
    Android Menu 1人收藏此文章, 我要收藏发表于9个月前 , 已有733次阅读 共0个评论   Menu由两种形式,Option menu和Context menu。前者是按下设备的Menu硬按钮弹出,后者是长按widget弹出。 Option...
  • Android menu菜单介绍

    2015-12-11 16:28:20
    Android menu菜单介绍 1.实现编辑菜单,添加可选项 2.实现菜单简单功能:以跳转页面为例。 步骤: 1.创建好项目之后,找到res下的menu文件夹,找到main.xml,按照格式开始编辑,添加可选项 注意为每一个item...
  • Android Menu菜单的基本使用,通过xml文件创建菜单布局或者通过java代码添加布局,对菜单的点击事件进行监听。
  • Android Menu菜单-菜单无法显示

    千次阅读 2019-10-13 17:19:39
    Android Menu菜单 问题描述: 代码中明确写了添加菜单布局的代码 (排除添加布局错误的情况),为什么还是不显示菜单的布局界面呢? 我遇到的解决方案: 我遇到的就是,先前我设置了布局界面为NoActionBar类型,那肯定不行啊...
  • Android Menu开发解析

    2010-08-06 15:43:00
    运用Android Menu进行编程,可以帮助我们创造出精美的界面,帮助我们应用。在这里将会通过一段代码为大家详细解读。   Android手机操作系统是一个非常实用的开源手机系统,而且其应用于手机中能体现出...
  • android menu 基础

    2015-01-08 15:42:23
    Activity在要实现Menu,需要重写下面的几个方法: 创建Menu: @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return super....
  • android Menu详解

    2016-06-20 17:07:48
    三种类型的菜单 ·Options Menu The primary collection of menu items for an activity, which appears when the user touches the MENU ... When your application is running on Android 3.0 or later, you can
  • Android menu详解

    2015-06-30 16:31:35
    Android系统里面有3种类型的菜单:options menu,context menu,sub menu。 options menu 按Menu键就会显示,用于当前的Activity。 它包括两种菜单项: 因为options menu在屏幕底部最多只能显示6个菜单项,...
  • Android Menu用法全面讲解

    万次阅读 多人点赞 2017-11-23 01:35:26
    菜单(Menu)是Android应用中非常重要且常见的组成部分,主要可以分为三类:选项菜单、上下文菜单/上下文操作模式以及弹出菜单。本文只介绍Android3.0及以上的Menu知识点。
  • Android menu属性详解

    2019-04-23 12:43:49
    转自:http://blog.csdn.net/n3562141/article/details/50325717 menu的属性展示 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android">...
  • Android Menu的几种实现方式

    千次阅读 2014-11-11 17:13:33
    android menu实现方式有好几种,有时候容易
  • Android Menu实例

    2013-08-22 09:17:44
    package com.gem.android.menu; import android.app.Activity; import android.app.AlertDialog; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Contex
  • android Menu是啥呢,就是按手机上那个菜单按钮对应的东西,一般我们都会使用这个东西完成一些功能: 关于核结束时最普遍的,就是在使用程序过程中有事情需要马上退出程序或者查看如何操作等,在这里我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,814
精华内容 6,725
关键字:

androidmenu