android3.0之Action Bar基础

[url]http://www.android123.com.cn/androidkaifa/777.html[/url]
Action Bar是android3.0一个重要的内容,Action Bar主要是用于代替传统的标题栏,对于Android平板设备来说屏幕更大它的标题使用Action Bar来设计可以展示更多丰富的内容,方便操控。

Action Bar主要功能包含:

1. 显示选项菜单
2. 提供标签页的切换方式的导航功能,可以切换多个fragment.
3. 提供下拉的导航条目.
4. 提供交互式活动视图代替选项条目
5. 使用程序的图标作为返回Home主屏或向上的导航操作。

首先我们一起来看下Action Bar代替传统Title的效果,下面一个平板应用的标题栏,是不是图标很大啊。

[img]http://dl.iteye.com/upload/attachment/423034/3a2157ea-168f-3000-a6d3-b413fd17c338.png[/img]

1,新建menu/menu_bar.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_add"
android:icon="@android:drawable/ic_menu_add"
android:title="新增"
android:showAsAction="ifRoom|withText"
/>
<item
android:id="@+id/menu_save"
android:icon="@android:drawable/ic_menu_save"
android:title="保存"
android:showAsAction="ifRoom|withText"
/>

<item android:id="@+id/menu_search"
android:title="Search"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="ifRoom|withText"
android:actionViewClass="android.widget.SearchView"
/>
<!--
android:actionLayout="@layout/searchview"
-->
</menu>

注意上面的android:actionViewClass和android:actionLayout属性:
actionLayout是制定一个layout xml布局文件,actionViewClass是指定一个类。
这里使用了系统自带的android.widget.SearchView控件,在代码中的使用如下。
2,代码

public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_bar, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//这里才有反应!
Toast.makeText(Honeycomb.this, "Honeycomb", Toast.LENGTH_SHORT).show();
}
});
return super.onCreateOptionsMenu(menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
// 当左上角标题栏图标被单击时
Toast.makeText(this, "home", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_add:
Toast.makeText(this, "menu_add", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_save:
Toast.makeText(this, "menu_save", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_search:
//不会有反应!
Toast.makeText(this, "menu_search", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值