原文网址: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. 一个Nodejs的简单计算測试程序

    測试目的: 1 測试二维数组的使用 2 输出函数的使用 代码: var util = require('util'); a = 3; b = 4; c = a + b; a = []; for(i = ...

  2. 阻塞机制下的recv小结

    recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态,下面是我针对常见的几种网络状态的简单总结.      首先阻塞 ...

  3. Ubuntu ssh的使用

    1. 题外话:install teamviewer on Ubuntu. wget http://download.teamviewer.com/download/teamviewer_linux.d ...

  4. Creating a Swap Partition

    Creating a Swap Partition 1.   Use  fdisk /dev/vda  to open your disk in fdisk. (Use gdisk if you ar ...

  5. C#_串口程序_二次打包_事件响应

    using System;using System.IO.Ports;using System.Windows.Forms; namespace Dll_Serial_Comm{    public ...

  6. js三种消息框总结-警告框、确认框、提示框

    js消息框类别:警告框.确认框.提示框 警告框:alert("文本"); 确认框:confirm("文本"); 提示框:prompt("文本" ...

  7. hdu 2544

    #include <iostream> #include <cstdio> #define INF 9999999 //#define INF 0x3f3f3f3 using ...

  8. lucene实战(第二版)学习笔记

    初识Lucene 构建索引 为应用程序添加搜索功能 Lucene的分析过程

  9. MySQL慢查询详解

    分析MySQL语句查询性能的方法除了使用 EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”.   查看/设置“慢查询”的时 ...

  10. oracle 空置排在最后显示

    nulls last select * from emp order by comm select * from emp order by comm desc select * from emp or ...