android3.0之Action Bar基础

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

  Action Bar主要功能包含:

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

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



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

  

android3.0之Action Bar基础


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论