`

android3.0之Action Bar基础

阅读更多
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); 
    }
  • 大小: 7.6 KB
分享到:
评论

相关推荐

    自适应Android 3.0以下api的ActionBarSherlock

    自适应Android 3.0以下api的ActionBar,如果系统在3.0以上则使用android系统自带的ActionBar

    Android Action Bar 详解篇(推荐)

    作为Android 3.0之后引入的新的对象,ActionBar可以说是一个方便快捷的导航...在Android3.0默认主题HloleFraphic(全息)主题中,已经创造了ActionBar,所以只要targetSdkVersion的值不低于11,创建的Activity中默认都

    Android3.0 ActionBar导航标题栏使用解析

    先看图: [1]是ActionBar的图标,[2]是两个action按钮,[3]是overflow按钮。 介绍: Action Bar是一种新増的导航栏功能,...1、不需要导入ActionBar,因为在android3.0或者以上版本中,ActionBar已经默认的包含在Activ

    appcompatdemo

    ActionBar的API被添加在Android3.0(API 级别 11)中,低版本的还是用不了,根本不能适配支持Android 2.X系列的应用。很幸运有第三方开源的actionbarsherlock支持使得Android 2.1以上的Android应用使用...

    Android应用开发中Action bar编写的入门教程

    从Android 3.0开始除了我们重点讲解的Fragment外,Action Bar也是一个重要的内容,Action Bar主要是用于代替传统的标题栏,对于Android平板设备来说屏幕更大它的标题使用Action Bar来设计可以展示更多丰富的内容,...

    Android学习笔记——Menu介绍(一)

    背景: Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。... 在Android3.0及以上,选项菜单被放置在action bar上。   创建一个选项菜单:  重写onCreateOptionMenu()方法 @Overri

    Android ActionBar使用教程

    ActionBar的引入方式: ...为了兼容Android3.0之前的低版本,actionbar通常通过extends集成Support包下的AppCompatActivity实现,同时需要使用Theme.AppCompat的ActionBar主题(想要去掉ActionBar使用Theme.AppCompa

    ActionBarTabsTest:[Android App] 简单展示如何使用Action Bar Tabs 及客制化ListView

    [Android]Action Bar Tabs 和ListView 简易示范 注意 最低版本中需要选择API 11(Android 3.0) 以上。

    Action Bar初识案例

    } } catch (Exception ex) { }2、Action Bar自定义样式之前Action Bar是不兼容3.0以下的,有开源的actionbarsherlock可以实现兼容,最新的ADT(22.6),你建项目的时候你会发现自己继承了ActionBarActivity,且多了...

    Custom ActionBar.zip

    Custom ActionBar介绍: 自定义Action Bar。   测试环境: Eclipse 4.2, Android 3.0 以上。 注意:测试环境并不代表适用环境。  

    Fragment+ActionBar

    Fragment和ActionBar都是Android3.0之后出现的,Fragment,碎片,主要是为了支持更多的UI设计在大屏幕设备上,如平板。因为现在设备的屏幕越来越大,使用Fragment可以更灵活的管理视图层次的变化。像Activity一样,...

    FadingActionBar.zip

    滑动ScrollView或者listView时,界面顶部慢慢出现Action Bar(fade in),当停止滑动时,Action Bar慢慢淡出直至消失(fade out)。   测试环境: Eclipse 4.2, Android 3.0 以上。 注意:测试环境并不代表适用...

    Android ActionBar完全解析使用官方推荐的最佳导航栏(上)

    Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作、界面导航等功能。使用ActionBar的好处是,它可以给提供一种全局统一的UI界面...

    AndroidActionBar完全解析,使用官方推荐的最佳导航栏

    ActionBar是一种新増的导航栏功能,在Android3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作、界面导航等功能。使用ActionBar的好处是,它可以给提供一种全局统一的UI界面,...

    ActionBar-PullToRefresh.zip

    安卓源码介绍: 在各种View中加入下拉刷新(pull to refresh)功能。下拉刷新时,View上方的ActionBar会被刷新的动画所代替,等刷新加载...Eclipse 4.2, Android 3.0 以上。 注意:测试环境并不代表适用环境。  

    ActionBarSherlock.zip

    ActionBarSherlock介绍: 实现各种(一共二十多种)样式的ActionBar,可以在ActionBar上添加各种widget,比如按钮、搜索框、...Eclipse 4.2, Android 3.0 以上。 注意:测试环境并不代表适用环境。   演示图:

Global site tag (gtag.js) - Google Analytics