响应菜单项
android提供了多种响应菜单项的方法,这里我们介绍最常用的方法
通过onOptionsItemSelected方法
使用的最多的方法是重写activity类的onOptionsItemSelected(MenuItem)回调方法,每当有菜单项被点击时,android就会调用该方法,并传入被点击菜单项。
@Overrid
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId){
case 1;
//do something here
case 2:
//do something here
......
......
default:
//对没有处理的事件,交给父类来处理
return super.onOptionsItemSelected(item);
}
//返回true表示处理完菜单项的事件,不需要讲该事件继续传播下去了
return true;
}
添加返回键的响应操作,示例如下
@Override
public boolean onOptionsItemSelected(MenuItem item){
if(item.getItemId()==android.R.id.home){
onBackPressed();
return true;
return super.onOptionsItemSelected(item);
}
对android中ActionBar中的几个使能方法介绍
setHomeButtonEnabled这个小于4.0版本的默认值为true的。但是在4.0及其以上是false,该方法的作用:决定左上角的图标是否可以点击。没有向左的小图标。true:图标可以点击,false:不可以点击
actionBar.setDisplayHomeAsUPEnabled(true);//给左上角图标的左边加上一个返回的图标。对应ActionBar.DISPLAY_HOME_AS_UP
actionBar.setDisplayShowHomeEnabled(true);//使左上角图标是否显示,如果设成false,则没有程序图标,仅仅就是个标题,否则,显示应用程序图标,对应id为Android。R.id.home,对应ActionBar.DISPLAY_SHOW_HOME
actionBar.setDisplayShowCustomEnabled(true)//使自定义的普通View能在title栏显示,即actionBar.setCustomView能起作用,对应ActionBar.DISPLAY_SHOW_CUSTOM
actionBar.setDisplayShowTitleEnabled(true);//对应ActionBar.DISPLAY_SHOW_TITLE。
其中setHomeButtonEnabled和setDisplayShowHomeEnabled共同起作用,如果setHomeButtonEnabled设成false,即使setDisplayShowHomeEnabled设成true,图标也不能点击
使ActionBar有返回的箭头,并且可以点击,示例如下
ActionBar actionBar=getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeAsUpIndicator(R.drawable.zuk_menu_back);//这个方法可以指定返回按键的图片样式