【总结】Android攻城狮之OptionsMenu
2018-04-05 14:05
211 查看
Android攻城狮之OptionsMenu
目录Android攻城狮之OptionsMenu
通过布局文件创建菜单项
动态添加菜单项
通过布局文件创建菜单项
MainActivity.java如下
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()){ case R.id.action_menu1: Toast.makeText(MainActivity.this, "点击了菜单一",Toast.LENGTH_LONG).show(); break; case R.id.action_menu2: Toast.makeText(MainActivity.this, "点击了菜单二", Toast.LENGTH_LONG).show(); break; } return super.onOptionsItemSelected(item); } }
同时在
res文件夹下,建立
menu文件夹,用来存放菜单栏,并创建
main.xml布局文件。布局代码如下:
<item android:id="@+id/action_menu1" android:orderInCategory="100" app:showAsAction="never" android:title="item1" /> < 4000 item android:id="@+id/action_menu2" android:orderInCategory="100" app:showAsAction="never" android:title="item2" />
动态添加菜单项
除了xml布局文件,还可以通过代码进行动态添加@Override public boolean onCreateOptionsMenu(Menu menu){ menu.add(1, 100, 1, "菜单一"); menu.add(1, 101, 1, "菜单二"); menu.add(1, 102, 1, "菜单三"); menu.add(1, 103, 1, "菜单四"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item){ switch (item.getItemId()){ case 100: Intent intent = new Intent(MainActivity.this, SecondActivity.class);//设置点击事件——页面跳转 item.setIntent(intent); break; case 101: Toast.makeText(MainActivity.this, "点击了菜单二", Toast.LENGTH_LONG).show(); break; case 102: Toast.makeText(MainActivity.this, "点击了菜单三", Toast.LENGTH_LONG).show(); break; case 103: Toast.makeText(MainActivity.this, "点击了菜单四", Toast.LENGTH_LONG).show(); break; } return super.onOptionsItemSelected(item); }
除此之外,由于
menu.add()函数返回
MenuItem类型数据,因此可以进一步添加内容
@Override public boolean onCreateOptionsMenu(Menu menu){ MenuItem menuItem = menu.add(1, 100, 1, "菜单一"); menuItem.setTitle("重命名的菜单一"); menuItem.setIcon(R.drawable.ic_launcher_background); menu.add(1, 101, 1, "菜单二"); menu.add(1, 102, 1, "菜单三"); menu.add(1, 103, 1, "菜单四"); return true; }
相关文章推荐
- 【总结】Android攻城狮之SubMenu
- 【总结】Android攻城狮数据篇——SharedPreference
- 【总结】Android攻城狮之Toast
- Android onCreateOptionsMenu的使用方法总结
- 【转】Android总结篇系列:Activity Intent Flags及Task相关属性
- Android中Retrifit使用总结
- android面试题总结
- Android 中的 Service 全面总结
- Android图片缩放,压缩总结(inSampleSize,Matrix比较)
- 在Android上使用Phonegap的个人经验总结及项目中的优化方案
- Android地图和定位学习总结
- Android 人脸识别————关于虹软人脸识别SDK引擎使用总结
- Android 内存溢出解决方案(OOM) 整理总结
- Android总结篇系列:Activity Intent Flags及Task相关属性
- android回调机制总结
- Android IOS WebRTC 音视频开发总结(六)
- Android事件分发和消费机制总结
- Android学习总结(十八) ———— SQLite数据库使用
- 【移动开发】Android中WIFI开发总结(一)
- android service 总结(2)