Android(安卓)optionsMenu,菜单的使用
16lz
2021-01-25
Android3.0 之前一直使用menu 弹出菜单,optionsMenu的使用方式跟context菜单的使用方式类似,
①创建 系统菜单 onCreateOptionsMenu(Menu menu)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
setIconEnable(menu,true);//让菜单项的图标可见
//根据菜单项的xml文件创建菜单项对象,并把菜单项对象加入到菜单对象中 //参数menu接收的是菜单对象,菜单对象由系统创建 getMenuInflater().inflate(R.menu.main, menu); return true;}
② 为菜单添加监听 onOptionsItemListener
//给系统菜单添加点击菜单项时的事件监听//参数item接收的是被点击的菜单项对象@Overridepublic boolean onOptionsItemSelected(MenuItem item) { //获取被点击的菜单项的id int id = item.getItemId(); switch(id) { case R.id.action_settings: //显示系统设置界面 startActivity(new Intent(Settings.ACTION_SETTINGS)); break; case R.id.action_bigFont: //增大textView的字体 fontSize+=5; textView.setTextSize(fontSize); break; case R.id.action_smallFont: //缩小textView的字体 fontSize-=5; textView.setTextSize(fontSize); break; } return super.onOptionsItemSelected(item);}
③ 解决不显示图标问题 通过反射机制
//为系统菜单项添加图标
//enable为true时,菜单添加图标有效,enable为false时无效。4.0+系统默认无效
private void setIconEnable(Menu menu, boolean enable)
{
try
{
//MenuBuilder.class
Class
更多相关文章
- Android(安卓)camera系统开发之IPC (三)
- android,java知识点总结(一)
- Android中Bundle传递数据和对象
- Android(安卓)Parcelable 错误 Parcel: Class not found when un
- Android(安卓)MediaPlayer
- Android(java)学习笔记68:同步代码块的锁和同步方法的应用
- android postDelayed 方法的简单使用
- Android中的引导页,一个Activity搞定引导页
- Android(安卓)CircleMenu 圆形旋转菜单