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;
            
        }
        
    }
  • 相关阅读:
    HDU 2844 Coins(多重背包)
    HDU 4540 威威猫系列故事——打地鼠(DP)
    Codeforces Round #236 (Div. 2)
    FZU 2140 Forever 0.5
    HDU 1171 Big Event in HDU(DP)
    HDU 1160 FatMouse's Speed(DP)
    ZOJ 3490 String Successor
    ZOJ 3609 Modular Inverse
    ZOJ 3603 Draw Something Cheat
    ZOJ 3705 Applications
  • 原文地址:https://www.cnblogs.com/malinkang/p/2684911.html
Copyright © 2011-2022 走看看