ActionBar的使用

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;
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值