• 菜单设计


    网络111 刘修军

    Android中的菜单有两种,一种是通过MENU键激活,叫Options Menu;另一种是当用户长按一个元素时激活,叫Context Menu。

    1. Options Menu

           在Activity里面,一般通过以下方法来使用Options Menu:

            (1)onCreateOPtionsMenu(Menu menu) 创建Options Menu,这个方法只会在menu第一次显示时调用。

           (2)onPrepareOptionsMenu(Menu menu) 更新改变Options Menu的内容,这个方法会在menu每次显示时调用。

           (3)onOptionsItemSelected(MenuItem item)处理选中的菜单。 

                 Options Menu示例:

                 代码:

    package com.MenuTest;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.SubMenu;
    import android.widget.EditText;
    
    public class MenuTestActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            t1=(EditText) findViewById(R.id.t1);
        }
        EditText t1;
        @Override
        public boolean onCreateOptionsMenu(Menu menu)//创建Option Menu菜单,只会在Menu第一次显示时调用
        {
            super.onCreateOptionsMenu(menu);
           menu.add(1,1,1,"菜单1");
           menu.add(1,2,2,"菜单2");
           menu.add(1,3,3,"菜单3");
         SubMenu submenu=menu.addSubMenu(1,4,4,"菜单4");//添加子菜单
           submenu.add("子菜单1");
           submenu.add("子菜单2");
           submenu.add("子菜单3");
          
           return true;
        }
        @Override
        public boolean onOptionsItemSelected(MenuItem item) //处理选中的菜单项;单击某个菜单项时,将菜单Text值赋给EditText
        {
            super.onOptionsItemSelected(item);
            switch(item.getItemId())//获得菜单的ID编号
            {
            case 1: t1.setText("菜单1");break;
            case 2: t1.setText("菜单2");break;
            case 3: t1.setText("菜单3");break;
            case 4: t1.setText("菜单4");break;
            }
            return true;
            
        }
    }

         2. Context Menu

            在Activity里面,一般通过以下方法来使用Context Menu:

            (1) registerForContextMenu(View view) 为某个View 注册Context Menu,一般在Activity的onCreate里面调用。

           (2)onCreateContextMenu(ContextMenu menu,View v,ContextMenu context MenuInfo menuinfo)创建context menu,和 Options Menu不同,context menu每次是显示时都会调用这个方法。

           (3) onContextItemSelected(MenuItem item)处理选中的菜单项。

                  Context Menu示例:  

        代码:

    package com.MyContext;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.ContextMenu;
    import android.view.ContextMenu.ContextMenuInfo;
    import android.view.View;
    import android.widget.Button;
    
    public class MyContextActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button button1=(Button) findViewById(R.id.button1);
            this.registerForContextMenu(button1);
        }
    
        @Override
        public void onCreateContextMenu(ContextMenu menu, View v,
                ContextMenuInfo menuInfo) {
            // TODO Auto-generated method stub
            super.onCreateContextMenu(menu, v, menuInfo);
            menu.setHeaderTitle("Context Menu");
            menu.add("菜单1");
            menu.add("菜单2");
            menu.add("菜单3");
        }
        
    }
  • 相关阅读:
    yii2中的url美化
    一级域名301重定向到www二级域名
    使用meta来控制浏览器的渲染方式
    同一页面不同编码的提交处理
    Yii2.0 UrlManager
    sqlsever连接两个不同服务器上的数据库进行查询
    php 实现传入参数的传出
    xcode如何修改项目名称
    ios如何实现应用之间的跳转
    ios程序如何实现系统自带的分享
  • 原文地址:https://www.cnblogs.com/LXJ416/p/3022749.html
Copyright © 2020-2023  润新知