IT虾米网

android的选项菜单详解

admin 2018年06月09日 手机开发 465 0

一:首先要在res/menu下创建menu资源类型的xml文档

<?xml version="1.0" encoding="utf-8"?>
 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item  
        android:id="@+id/menu_item_new_crime" 
        android:icon="@android:drawable/ic_menu_add" 
        android:title="@string/new_crime" 
        android:showAsAction="ifRoom|withText" 
        ></item>" 
 
</menu>
showAsAction用于指定菜单选项显示在操作栏

二:创建选项菜单和响应

Activity和Fragment都有一套选项菜单回调函数

onCreateOptionsMenu(Menu menu, MenuInflater inflater)

onOptionsItemSelected(MenuItem item)

创建选项菜单:

@Override 
	public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
		// TODO Auto-generated method stub 
		super.onCreateOptionsMenu(menu, inflater); 
		inflater.inflate(R.menu.fragment_crime_list, menu); 
	}
inflater调用inflate()填充Menu的布局

如果使用fragment,fragment的onCreateOptionsMenu(Menu menu, MenuInflater inflater)是由FragmentManager调用的,当activity接受到来自操作系统的onCreateOptionsMenu(Menu menu, MenuInflater inflater)方法回调请求时,我们要告诉fragmentManager,你管理的fragment要接受onCreateOptionsMenu(Menu menu, MenuInflater inflater)的调用指令,所以要在当前fragment的onCreate中添加

setHasOptionsMenu(true);


响应选项菜单:

调用onOptionsItemSelected(MenuItem item),并在方法内编写响应逻辑


接下来实现层级式导航回到上一次的界面:

请看上一篇博客 http://blog.csdn.net/jeffleo/article/details/50823317





发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

debug时按F8/F6不起作用详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。