menu文件的写法
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:title="保存"
android:icon="@drawable/save_48"
android:actionLayout="@layout/layout_save"
android:showAsAction="ifRoom|withText|collapseActionView"
/>
<item android:title="删除"
android:icon="@drawable/delete_48"
android:showAsAction="ifRoom|withText"
/>
<!-- always 如果showAsAtion的val为always 那么,基本上回出现在标题栏上!如果实在没地方放,那么就回显示在隐藏的菜单列表中 -->
<item android:title="修改"
android:icon="@drawable/update_48"
android:showAsAction="always"
/>
<item android:title="查询"
android:icon="@drawable/find_48"
android:actionViewClass="android.widget.SearchView"
android:showAsAction="ifRoom|withText|collapseActionView"
/>
</menu>
在activity中使用
package com.myself.actionbar.activity;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
import com.myself.actionbardemo.R;
/**
* @文件名 ActionBarActivity.java
* @类说明 (ActionBar的基本用法)
* @作者 周运韬
* @版本 v_1.0
* @创建时间 2014-3-25 下午8:44:02
*/
@SuppressLint("NewApi")
public class ActionBarActivity extends Activity implements MenuItem.OnActionExpandListener,MenuItem.OnMenuItemClickListener{
Menu menu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_actionbar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//菜单资源文件加载器
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.menu, menu);
this.menu = menu;
for (int i = 0; i < menu.size(); i++) {
//为每个meue条目设置展开事件
menu.getItem(i).setOnActionExpandListener(this);
//为每个menu条目设置点击事件
menu.getItem(i).setOnMenuItemClickListener(this);
}
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
String title = (String) item.getTitle();
Toast.makeText(getApplicationContext(), title, Toast.LENGTH_SHORT).show();
return super.onMenuItemSelected(featureId, item);
}
@Override
public boolean onMenuItemClick(MenuItem arg0) {
String title = (String) arg0.getTitle();
Toast.makeText(this, title + "点击", Toast.LENGTH_SHORT).show();
return false;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem arg0) {
String title = (String) arg0.getTitle();
Toast.makeText(this, title + "收缩", Toast.LENGTH_SHORT).show();
return false;
}
@Override
public boolean onMenuItemActionExpand(MenuItem arg0) {
String title = (String) arg0.getTitle();
Toast.makeText(this, title + "展开", Toast.LENGTH_SHORT).show();
return false;
}
}