Android攻城狮OptionsMenu
Posted 张兮兮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android攻城狮OptionsMenu相关的知识,希望对你有一定的参考价值。
android的菜单一共有三种: OptionsMenu 选择菜单 ContextMenu 上下文菜单 SubMenu 子菜单 创建选项菜单: 在 Activity 里面重写 onCreateOptionMenu(),在里面设置菜单项。设置菜单项可以用代码动态地添加:menuadd(); 还可以通过 xml(在里面配置菜单项) 来配置,然后通过MenuInflater.inflate()设置。 然后设置菜单的点击事件,重写 onOptionsItemSelected()。 如图,是menu文件夹下的main.xml的代码。 -------------- 重写onCreateOptionMenu(): public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } -------------- 摘自评论区 从Android3.0开始,Android并不要求手机设备上必须提供Menu菜单。与桌面菜单不同,Android菜单默认是看不到的,这样情况下,Android推荐使用ActionBar来代替菜单。
1 public class MainActivity extends ActionBarActivity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.fragment_main); 7 8 } 9 10 @Override 11 public boolean onCreateOptionsMenu(Menu menu) { 12 13 // Inflate the menu; this adds items to the action bar if it is present. 14 // xml加载: 15 // getMenuInflater().inflate(R.menu.main, menu); 16 // 动态设置菜单项 17 MenuItem item = menu.add(1, 100, 1, "菜单一"); 18 item.setTitle("aaa"); 19 item.setIcon(R.drawable.ic_launcher);// api>=11它不显示图标 20 menu.add(1, 101, 1, "菜单二"); 21 menu.add(1, 102, 1, "菜单三"); 22 23 return true; 24 } 25 26 // 创建点击事件 27 @Override 28 public boolean onOptionsItemSelected(MenuItem item) { 29 // TODO Auto-generated method stub 30 switch (item.getItemId()) { 31 // xml方式: 32 // case R.id.action_menu_item1: 33 // Toast.makeText(MainActivity.this, "点击菜单一", 0).show(); 34 // break; 35 // 36 // case R.id.action_menu_item2: 37 // Toast.makeText(MainActivity.this, "点击菜单二", 0).show(); 38 // break; 39 // 动态设置菜单项: 40 case 100: 41 Intent intent = new Intent(MainActivity.this, SencondActivity.class); 42 item.setIntent(intent); 43 Toast.makeText(MainActivity.this, "点击菜单一", 0).show(); 44 break; 45 case 101: 46 Toast.makeText(MainActivity.this, "点击菜单二", 0).show(); 47 break; 48 case 102: 49 Toast.makeText(MainActivity.this, "点击菜单三", 0).show(); 50 break; 51 52 } 53 return super.onOptionsItemSelected(item); 54 } 55 56 }
以上是关于Android攻城狮OptionsMenu的主要内容,如果未能解决你的问题,请参考以下文章