原文网址: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. Android Toast封装

    package com.whoop.mobile.trace.util; import android.content.Context; import android.content.res.Reso ...

  2. JSP具体篇——out

    out对象 out对象用于在web浏览器上输出信息,而且管理应用server上的输出缓冲区.在使用out对象输出数据时.能够对数据缓冲区进行操作.及时清除缓冲区中残留的数据.为其它输出让出缓冲空间. ...

  3. 杭电 2047 阿牛的EOF牛肉串 (递推)

    阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  4. lubuntu12.11 source.list

    deb http://ports.ubuntu.com/ubuntu-ports/ precise main universe deb-src http://ports.ubuntu.com/ubun ...

  5. 腾讯云(centos7)上安装并配置PHP

    1.查看yum上的php $ yum list php Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cach ...

  6. js接收复选框的值

    <td><input type="checkbox" class="title" name="title" value=& ...

  7. Try,Catch,Finally三块中如果有Return是怎么个运行顺序

    今天看一个Java SSH的面试题,题目大概意思是:try.catch中存在return语句,还会执行finally块吗?如果执行,是return先执行还是finally先执行?如果有多个return ...

  8. 关于phonegap

    phonegap安卓环境搭建: http://www.cnblogs.com/Random/archive/2011/12/28/2305398.htmlhttp://ningtukun.blog.1 ...

  9. css空格和去浮动的应用

    今天做了项目用到css,请教前端解决,第一个是记得css空格之间的关系是隶属关系,但是在元素中却是并列关系,如<div class="right_side_item_moban gra ...

  10. OUTPUT新增记录入库示例C#+存储过程

    1.C#代码 public int Insert(Entity model) { var parameters = new SqlParameter[] { new SqlParameter(&quo ...