Android开发:Menu选项菜单

创建选项菜单的步骤:

1、覆盖Activity的onCreateOptionsMenu(Menu menu)函数

2、调用menu的add()方法添加菜单项(MenuItem),调用MenuItem的setIcon()方法为菜单设置图标


=================我是一条分割线==========================================

public boolean onCreateOptionsMenu (Menu menu)

返回值:布尔值,表示是否显示该函数中设置的菜单

参数:Menu对象

onCreateOptionsMenu函数仅在第一次使用菜单时被调用一次

在这个函数可以通过Menu对象的add()方法添加菜单子项


重载:

1.

public abstract MenuItem add (CharSequence title)

指定菜单上的显示文字

这种方式添加的菜单是默认的垂直方式排列

public boolean onCreateOptionsMenu(Menu menu)
{
    menu.add("菜单");
    menu.add("菜单2");
     return true;
}


2.

public abstract MenuItem add (int groupId, int itemId, int order, int titleRes)

groudId:组ID,用以批量地对菜单子项进行处理和排序

itemId:子项ID,是每一个菜单子项的唯一标识

order:指定菜单子项在选项菜单中的排列顺序

titlerRes: 菜单标题的引用


3.

public abstract MenuItem add (int titleRes)

titlerRes: 菜单标题的引用,通过string.xml中添加

<string name="titileRes">TitleRes</string>


public boolean onCreateOptionsMenu(Menu menu)
{
      menu.add(R.string.titileRes);
      return true;
}


4.

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

这个是最常用的方法

groudId:组ID,用以批量地对菜单子项进行处理和排序

itemId:子项ID,是每一个菜单子项的唯一标识

order:指定菜单子项在选项菜单中的排列顺序

titler: 菜单标题

public boolean onCreateOptionsMenu(Menu menu)
{
   menu.add(0, ITEM, 0, "开始");
   menu.add(0, ITME2, 0, "退出");
   return true;
}


设置图标

itemAdd.setIcon(R.drawable.p1);


================还是一条分割线====================================


当菜单被选择时,可以通过覆盖Activity的onOptionsItemSeleted()方法来响应事件


于是可以酱紫,例子

public class ListTest extends Activity {
    private static final int click1 = Menu.FIRST;
    private static final int click2 = Menu.FIRST + 1;
      
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        super.onCreateOptionsMenu(menu);
        menu.add(0,click1,0,"戳我");
        menu.add(0,click2,0,"还戳我");
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        switch (item.getItemId()) {
           case click1:
             setTitle("被戳了一下!");
             break;
           
           case click2:
             setTitle("又被戳了!");
             break;
           }
           return true;
    }  
}


Android开发:Menu选项菜单,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。