原文网址:http://irtutsk.iteye.com/blog/2117707

ActionBar的组成:

[1]AppIcon:标题区,显示应用程序图标和标题,也可以自定义。

[2]ViewControl:导航区,可以设置Tab选项卡导航,Spinner下拉导航。

[3]ActionButtons:菜单区,添加菜单按钮。

[4]ActionOverflow:溢出区,显示不下的菜单按钮自动添加到这里,有Menu按键的手机不显示,只能通过Menu按键呼叫。

ActionBar的使用(兼容2.x):

使用API>18,导入Support V7包。
  1. import android.support.v7.app.ActionBar;
  2. import android.support.v7.app.ActionBarActivity;

使当前Activity 继承 ActionBarActivity。

  1. public class MainActivity extends ActionBarActivity

获取当前ActionBar。

  1. ActionBar actionBar = getSupportActionBar();

配置ActionBar。

  1. //显示ActionBar
  2. actionBar.show();
  3. //隐藏ActionBar
  4. actionBar.hide();
  5. //显示图标
  6. actionBar.setDisplayShowHomeEnabled(true);
  7. //显示标题
  8. actionBar.setDisplayShowTitleEnabled(true);
  9. //设置图标
  10. actionBar.setIcon(R.drawable.ic_launcher);
  11. //设置标题
  12. actionBar.setTitle(R.string.action_bar_Title);
  13. //允许使用图标按钮
  14. actionBar.setHomeButtonEnabled(true);
  15. //显示返回主界面按钮
  16. actionBar.setHomeButtonEnabled(true);
  17. //显示返回上一级按钮
  18. actionBar.setDisplayHomeAsUpEnabled(true);
  19. //允许使用自定义视图
  20. actionBar.setDisplayShowCustomEnabled(true);

ActionBar添加菜单:

ActionBar添加菜单的方法与Android2.x添加普通菜单的方法相同。
  1. //添加菜单
  2. @Override
  3. public boolean onCreateOptionsMenu(Menu menu) {
  4. //资源文件方式添加
  5. getMenuInflater().inflate(R.menu.main, menu);
  6. //代码方式添加
  7. MenuItem item = menu.add(groupId, itemId, order, title)
  8. .setIcon(iconRes);
  9. MenuItemCompat.setShowAsAction(item,
  10. MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
  11. return true;
  12. }
  13. //处理菜单项
  14. @Override
  15. public boolean onOptionsItemSelected(MenuItem item) {
  16. // Handle action bar item clicks here. The action bar will
  17. // automatically handle clicks on the Home/Up button, so long
  18. // as you specify a parent activity in AndroidManifest.xml.
  19. int id = item.getItemId();
  20. if (id == R.id.action_settings) {
  21. return true;
  22. }
  23. return super.onOptionsItemSelected(item);
  24. }

处理返回按钮。

在onOptionsItemSelected中处理MenuItem Id为home或homeasup即可。

是android.R.id.home而不是R.id.home,没有android.R.id.homeasup。

  1. if (id == android.R.id.home) {
  2. Intent intent = new Intent(this, MainActivity.class);
  3. startActivity(intent);
  4. return true;
  5. }

菜单的资源文件。

  1. <menu xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:app="http://schemas.android.com/apk/res-auto"
  3. xmlns:tools="http://schemas.android.com/tools"
  4. tools:context="com.example.zhuajimazi.MainActivity" >
  5. <item
  6. android:id="@+id/action_settings"
  7. android:orderInCategory="100"
  8. android:icon="@drawable/settings"
  9. android:title="@string/action_settings"
  10. app:showAsAction="ifRoom"/>
  11. <item
  12. android:id="@+id/action_update"
  13. android:orderInCategory="100"
  14. android:icon="@drawable/update"
  15. android:title="@string/action_update"
  16. app:showAsAction="ifRoom"/>
  17. <item
  18. android:id="@+id/action_about"
  19. android:orderInCategory="100"
  20. android:icon="@drawable/about"
  21. android:title="@string/action_about"
  22. app:showAsAction="ifRoom"/>
  23. <item
  24. android:id="@+id/action_exit"
  25. android:orderInCategory="100"
  26. android:icon="@drawable/exit"
  27. android:title="@string/action_exit"
  28. app:showAsAction="ifRoom"/>
  29. </menu>

【转】ActionBar的基本用法的更多相关文章

  1. Android ActionBar的基本用法

    一  说明android 3.0后出现, 在3.0之前称为Title Bar  显示位置在标题栏上可以显示应用程序的图标和activity的标题创建方式的和系统菜单相似, 区别在于: android: ...

  2. Android官方导航栏ActionBar(二)—— Action View、Action Provider、Navigation Tabs的详细用法

    在上一篇文章(Android之官方导航栏ActionBar)中,我们介绍了ActionBar各组成部分的基本应用.ActionBar除了提供Action Buttons外,还提供了多种导航方式如 Ac ...

  3. 4、android之actionbar用法

    转: 上:http://blog.csdn.net/yuzhiboyi/article/details/32709833 下:http://blog.csdn.net/yuzhiboyi/articl ...

  4. Android中通过ActionBar为标题栏添加搜索以及分享视窗

    在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果.Action ...

  5. SlidingMenu 侧滑菜单的用法

    很多APP都有侧滑菜单的功能,部分APP左右都是侧滑菜单~SlidingMenu 这个开源项目可以很好帮助我们实现侧滑功能,将侧滑菜单引入项目的方式很多中,先通过例子介绍各种引入方式,然后给大家展示个 ...

  6. ActionBar详解

    转: 一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和 ...

  7. android中的ActionBar和ToolBar

    一.ToolBar 1.概述 Google在2015的IO大会上发布了系列的Material Design风格的控件.其中ToolBar是替代ActionBar的控件.由于ActionBar在各个安卓 ...

  8. ToolBar、ActionBar与Menu的纠葛(以及navigationIcon、setHomeButtonEnabled、setDisplayHomeAsUpEnabled)

    因为贴图的繁琐...所以下面是无图版...完整的在这里: 探究一下toobar和actionbar在使用menu时的吊诡情况 一.背景介绍 toolbar最近比较火,而且是出出来代替actionbar ...

  9. 【Android UI设计与开发】8.顶部标题栏(一)ActionBar 奥义·详解

    一.ActionBar介绍 在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和men ...

随机推荐

  1. 遍历INI文件和删除指定域内容

    主要还是使用的INI文件操作的API,只是把参数修改下. BOOL WINAPI WritePrivateProfileString( __in LPCTSTR lpAppName, __in LPC ...

  2. 《AngularJS》--指令的相互调用

    转载自http://blog.csdn.net/zhoukun1008/article/details/51296692 人们喜欢AngularJS,因为他很有特色,其中他的指令和双向数据绑定很吸引着 ...

  3. 再探Java基础——String.format(String format, Object… args)的使用

    最近看到类似这样的一些代码:String.format("参数%s不能为空", "birthday"); 以前还没用过这功能不知咐意思,后研究了一下,详细讲解如 ...

  4. Android android-common 常用功能和工具集合

    本文内容 环境 android-common 项目结构 演示 android-common 参考资料 android-common 主要包括如下内容: 缓存,包括图片缓存.预取缓存.网络缓存. 公共 ...

  5. Linux系统最小化安装之后的系统基础环境安装以及内核优化脚本

    #!/bin/bash #添加epel和rpmforge的外部yum扩展源 cd /usr/local/src wget http://mirrors.ustc.edu.cn/fedora/epel/ ...

  6. 去掉app右侧滑动时出现的滚动条

    把plus.webview.currentWebview().setStyle({scrollIndicator:'none'});放在mui.plusReady({});内

  7. Wijmo 日历插件

    说明: 因为项目(OA)的需要,我负责开发日程的模块,相信大家用过谷歌的日历了吧,是不是觉得挺好用,但又苦于无法实现? 这里告诉你一个很好的插件,Wijmo,而里面有一个类似谷歌的日历事件插件,真的很 ...

  8. maven部署命令

    参考文档:http://blog.csdn.net/woshixuye/article/details/8133050 http://www.blogjava.net/itvincent/archiv ...

  9. 使用JQuery获取对象的几种方式

    1.先讲讲JQuery的概念 JQuery首先是由一个 America 的叫什么 John Resig的人创建的,后来又很多的JS高手也加入了这个团队.其实 JQuery是一个JavaScript的类 ...

  10. (转)JQuery中$.ajax()方法参数详解

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...