zoukankan      html  css  js  c++  java
  • 菜单

      Android系统的菜单支持主要通过4个接口来实现

    • Menu接口只是一个父接口,该接口下有两个子接口。
    • SubMenu:它代表一个普通菜单。
    • ContextMenu:它代表一个子菜单。

    Menu接口定义了如下方法来添加菜单或菜单项。

    • MenuItem add(int titleRes):添加一个新的菜单项。
    • MenuItem add(int groupld,int itemId,int order,CharSequence title):添加一个新的处于groupId组的菜单项。
    • MenuItem add(CharSequence title)添加一个新的菜单项。
    • SubMenu addSubMenu(int titleRes)
    • SubMenu addSubMenu(int groupId,int itemId,int order,int titleRes):添加一个新的处于groupId组的子菜单。
    • SubMenu addSubMenu(CharSequence title):添加一个新的子菜单。
    • SubMenu addSubMenu(int groupId,int itemId,int order,CharSequencr title):添加一个新的处于groupI的组的子菜单。

    添加菜单或子菜单的步骤如下:

    1.重写Activity的onCreatOptionsMenu(Menu mens)的方法,在该方法里调用Menu对象的方法来添加菜单项或子菜单。

    2.如果希望应用程序能响应菜单项的单击事件,重写Activity的onOptionsItemSelected方法即可。

    示例:

    public class MainActivity extends Activity {
        final int GREEN=1;
        final int RED=2;
        final int BLUE=3;
        private TextView text;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            text=(TextView)findViewById(R.id.text);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_main, menu);
            SubMenu colorMenu=menu.addSubMenu("字体颜色");
            colorMenu.setIcon(R.drawable.ic_action_search);
            colorMenu.setHeaderIcon(R.drawable.ic_action_search);
            colorMenu.setHeaderTitle("设置字体颜色");
            colorMenu.add(0,GREEN,0,"绿色");
            colorMenu.add(0,RED,0,"红色");
            colorMenu.add(0,BLUE,0,"蓝色");
            return super.onCreateOptionsMenu(menu);
        }
        public boolean onOptionsItemSelected(MenuItem mi){
            switch(mi.getItemId()){
            case GREEN:text.setTextColor(Color.GREEN);break;
            case RED:text.setTextColor(Color.RED);break;
            case BLUE:text.setTextColor(Color.BLUE);break;
            }
            return true;
            
        }
        
    }
  • 相关阅读:
    百度2015校园招聘前端笔试题汇总
    雅虎网站页面性能优化的34条黄金守则(转)
    web跨域通信问题解决
    setTimeout(fn,0)的作用分析
    阿里校园招聘前端面试
    rownum浅谈(二)
    rownum浅谈(一)
    try catch finally 执行顺序面试题总结
    浅谈CPU、内存、硬盘之间的关系
    【多线程学习(2)】继承Thread类和实现Runnable接口、Callable接口的区别
  • 原文地址:https://www.cnblogs.com/malinkang/p/2684911.html
Copyright © 2011-2022 走看看