当前位置:操作系统 > 安卓/Android >>

Android 程式开发:(十五)使用菜单 —— 15.1 辅助方法

菜单可以用来显示额外的选项,这些选项也不必出现在主界面中。在Android框架中,主要有2中菜单:

选项菜单 —— 显示与当前活动有关的信息。使用MENU键,可以触发这个菜单。
上下文菜单 —— 显示与活动中某一个视图相关的信息。长按一个视图,可以触发这个菜单。

\
左侧是 选项菜单,右侧是 上下文菜单。

在使用这两种菜单之前,我们先介绍一下两个辅助方法。一个用来填充菜单中的选项列表,另一个用来处理菜单的选中。

1、创建一个工程:Menus。

\
2、MenusActivity.java中的代码。

[java] 
public class MenusActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
    } 
 
    private void CreateMenu(Menu menu) { 
        menu.setQwertyMode(true); 
        MenuItem mnu1 = menu.add(0, 0, 0, "Item 1"); 
        { 
            mnu1.setAlphabeticShortcut('a'); 
            mnu1.setIcon(R.drawable.ic_launcher); 
        } 
        MenuItem mnu2 = menu.add(0, 1, 1, "Item 2"); 
        { 
            mnu2.setAlphabeticShortcut('b'); 
            mnu2.setIcon(R.drawable.ic_launcher); 
        } 
        MenuItem mnu3 = menu.add(0, 2, 2, "Item 3"); 
        { 
            mnu3.setAlphabeticShortcut('c'); 
            mnu3.setIcon(R.drawable.ic_launcher); 
        } 
        MenuItem mnu4 = menu.add(0, 3, 3, "Item 4"); 
        { 
            mnu4.setAlphabeticShortcut('d'); 
        } 
 
        menu.add(0, 4, 4, "Item 5"); 
        menu.add(0, 5, 5, "Item 6"); 
        menu.add(0, 6, 6, "Item 7"); 
    } 
 
    private boolean MenuChoice(MenuItem item) { 
        switch (item.getItemId()) { 
        case 0: 
            Toast.makeText(this, "You clicked on Item 1", Toast.LENGTH_LONG) 
                    .show(); 
            return true; 
        case 1: 
            Toast.makeText(this, "You clicked on Item 2", Toast.LENGTH_LONG) 
                    .show(); 
            return true; 
        case 2: 
            Toast.makeText(this, "You clicked on Item 3", Toast.LENGTH_LONG) 
                    .show(); 
            return true; 
        case 3: 
            Toast.makeText(this, "You clicked on Item 4", Toast.LENGTH_LONG) 
                    .show(); 
            return true; 
        case 4: 
            Toast.makeText(this, "You clicked on Item 5", Toast.LENGTH_LONG) 
                    .show(); 
            return true; 
        case 5: 
            Toast.makeText(this, "You clicked on Item 6", Toast.LENGTH_LONG) 
                    .show(); 
            return true; 
        case 6: 
            Toast.makeText(this, "You clicked on Item 7", Toast.LENGTH_LONG) 
                    .show(); 
            return true; 
        } 
        return false; 
    } 
 

在上面的例子中,主要包含2个方法:CreateMenu()和MenuChoice()。
CreateMenu()方法,接收一个Menu类型的参数,并且向这个参数中添加一些菜单项。

想要添加一个菜单项,我们就要创建一个MenuItem类的实例,然后使用Menu对象的add()方法。

[java] 
MenuItem mnu1 = menu.add(0, 0, 0, "Item 1"); 

    mnu1.setAlphabeticShortcut('a'); 
    mnu1.setIcon(R.drawable.ic_launcher); 

add()方法有4个参数,我一一来解释:
groupId —— 如果一个菜单项在一个组中,这就是组的标识符。如果groupID是0的话,说明这个菜单项不在任何一个组中。
itemID —— 菜单项的唯一标识。
order —— 菜单项显示的顺序。
title —— 菜单项的显示文字。
另外,我们也可以使用setAlphabeticShortcut()方法去设置一个快捷键。这样就可以使用键盘去选择一个菜单项。

setIcon() 方法可以为菜单项去设置一个图片。

最后,MenuChoice()方法接收一个MenuItem类型的参数,然后检查它的id去判断到底是哪个菜单项被选中了,并且弹出一

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,