原文网址: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. JavaScript 构造函数

    关于JavaScript构造函数,如今出现了很多JavaScript的框架,例如jQuery.Ext等等这些,这些将JavaScript作为一种面向对象的语言进行编程,那么JavaScript到底是怎 ...

  2. hadoop1.X安装

    1.      配置主机的名称 master,slave1,slave2 2.      安装JDK: 3.      配置IP与主机名称的映射: 192.168.0.100 master 192.1 ...

  3. 使用MySQL的LAST_INSERT_ID--转

    LAST_INSERT_ID 自动返回最后一个 INSERT 或 UPDATE 操作为 AUTO_INCREMENT 列设置的第一个发生的值. 参考这里 The ID that was generat ...

  4. xheditor编辑器上传截图图片抓取远程图片代码

    xheditor是一款很不错的开源编辑器,用起来很方便也很强大. 分享一个xheditor直接上传截图的问题解决方法. 第一步.设置参数 localUrlTest:/^https?:\/\/[^\/] ...

  5. TreeSet与TreeMap

    TreeSet底层使用的存储容器为TreeMap TreeMap使用红黑树(一种自平衡的排序二叉树)实现,检索效率为O(logn) 红黑树的三个基本操作:左旋.右旋.着色 平衡二叉树:空树或左右子树高 ...

  6. android实现边框圆角

    1. 在drawable 下新建 shape.xml 文件 Xml代码  :  1 <?xml version="1.0" encoding="UTF-8" ...

  7. Android文档资源大放送 感兴趣的话可以网盘下载(个人收集)

    Google.Android.SDK开发范例大全.第3版源码.rar http://pan.baidu.com/s/1c0epYzm 精通Android 3中文版(Pro Android 3).pdf ...

  8. Chapter 2. Overview gradle概览

    2.1. Features //gradle特性 Here is a list of some of Gradle's features. Declarative builds and build-b ...

  9. Android - Service启动机制

      以下资料摘录整理自老罗的Android之旅博客,是对老罗的博客关于Android底层原理的一个抽象的知识概括总结(如有错误欢迎指出)(侵删):http://blog.csdn.net/luoshe ...

  10. 递归---NYOJ-90整数划分(一)

    这个题理解了好大会才理解,看了网上的代码,不太理解,但是后来看了好几个人的, 大同小异吧,慢慢的就理解了. 思路: 递归函数的意思是, 将 n 划分为最大数为 m 的划分数, 可以分几种情况 1. 当 ...