扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
创建选项菜单的步骤:
为长宁等地区用户提供了全套网页设计制作服务,及长宁网站建设行业解决方案。主营业务为网站设计、成都网站设计、长宁网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
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中添加
TitleRes
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; } }
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流