【转】 Pro Android学习笔记(四九):ActionBar(2):Action图标区
ActionBar的隐藏和现实
ActionBar bar = getActionBar();
bar.hide(); //隐藏Action Bar
bar.show(); //显示Action Bar
ActionBar的action图标区
ActionBar的右侧就是action图标区域,如下图所示

这是ActionBar的menu区域,作为options menu的一部分,选择部分的菜单项在action bar中显示。我们先看看源代码,没有什么特别。小例子是在上一学习的例子上进行添加,直接采用继承方式。
public class ActionAreaTestCase2 extends HomePressTestCase1{
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.bar, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
showInfo("select : " + item.getTitle());
return super.onOptionsItemSelected(item);
}
}
关键看看R.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_action_icon1"
android:title="Action1"
android:icon="@drawable/creep001"
android:showAsAction="ifRoom"/> <!-- 与一般的item相比,增加了showAsAction的设置,表明在action bar中显示的情况,除了ifRoom,还有always、never、withText。也可以在代码中通过menuItem.setShowAsAction(int)来实现 -->
<item android:id="@+id/menu_action_icon2"
android:title="Action2"
android:icon="@drawable/creep002"
android:showAsAction="ifRoom"/>
<item android:id="@+id/menu_action_icon3"
android:title="Action3"
android:icon="@drawable/creep003"
android:showAsAction="ifRoom"/>
... ...
</menu>
如果我们要求在action bar显示的菜单项太多,超过action bar的空间时,则在普通的OptionsMenu位置显示,例如我们设置了6个菜单项,属性均有:android:showAsAction="ifRoom",显示如下:

如果在menu的xml文件中,有些属性没有设置为showAsAction,则这些item按常规的菜单方式显示。如下图:Normal的item是普通的菜单项:

如果我们没有设置图标,只设置了title,则显示文字,xml片段如下:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_action_icon1"
android:title="Action1"
android:showAsAction="ifRoom"/> <!-- 没有icon的例子 -->
<item android:id="@+id/menu_action_icon2"
android:title="Action2"
android:icon="@drawable/creep002"
android:showAsAction="ifRoom|withText"/> <!-- 同时显示icon和文字的例子 -->
… …
</menu>

本博文涉及的例子代码,可以在Pro Android学习:ActionBar小例子中下载。
相关链接: 我的Android开发相关文章
【转】 Pro Android学习笔记(四九):ActionBar(2):Action图标区的更多相关文章
- Pro Android学习笔记 ActionBar(1):Home图标区
Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...
- 【转】 Pro Android学习笔记(五二):ActionBar(5):list模式
可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner. list的样式和 ...
- 【转】 Pro Android学习笔记(八二):了解Package(1):包和进程
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在之前,我们已经学习了如何签发apk,见P ...
- 【转】 Pro Android学习笔记(六七):HTTP服务(1):HTTP GET
目录(?)[-] HTTP GET小例子 简单小例子 出现异常NetworkOnMainThreadException 通过StrictMode进行处理 URL带键值对 Andriod应用可利用ser ...
- 【转】 Pro Android学习笔记(五五):调试和分析(3):adb命令、模拟器控制台和StrictMode
目录(?)[-] adb命令 模拟器Console StrictMode adb命令 我们在学习SQLite的使用,介绍过部分adb命令的使用,见Pro Android学习笔记(五):了解Conten ...
- 【转】 Pro Android学习笔记(五六):配置变化
目录(?)[-] Activity的destorycreate过程 Fragment的destorycreate过程 onSaveInstanceState saveFragmentInstanceS ...
- 【转】 Pro Android学习笔记(四二):Fragment(7):切换效果
目录(?)[-] 利用setTransition 利用setCustomAnimations 通过ObjectAnimator自定义动态效果 程序代码的编写 利用fragment transactio ...
- 【转】 Pro Android学习笔记(四十):Fragment(5):适应不同屏幕或排版
目录(?)[-] 设置横排和竖排的不同排版风格 改写代码 对于fragment,经常涉及不同屏幕尺寸和不同的排版风格.我们在基础小例子上做一下改动,在横排的时候,仍是现实左右两个fragment,在竖 ...
- 【转】 Pro Android学习笔记(三五):Menu(6):XML方式 & PopUp菜单
目录(?)[-] 利用XML创建菜单 XML的有关属性 onClick事件 Pop-up菜单 利用XML创建菜单 在代码中对每个菜单项进行设置,繁琐且修改不灵活,不能适配多国语言的要求,可以利用资源进 ...
随机推荐
- nginx 基础配置详解
#本文只对nginx的最基本配置项做一些解释,对于配置文件拆分管理,更详细的集群健康检查的几种方式,检查策略等在此不做详细解释了. #运行用户user nobody;#启动进程,通常设置成和cpu的数 ...
- 让lu哥头痛了许久的代码(洛谷:树的统计)
错在单点修改时传的是a,应该是id[a](Line 89).谨记!!! //fushao zuishuai #include <cstdio> #include <cstring&g ...
- [luogu3393]逃离僵尸岛
[luogu3393]逃离僵尸岛 luogu 先把被禁止的点和新建的虚点n+1连0边 跑最短路,dis<=s的点价格为Q,否则为P, 再建图跑最短路 #define ll long long # ...
- zip 解压脚本
zip 解压脚本 gpk-unzip.py #!/usr/bin/env python # -*- coding: utf-8 -*- # unzip-gbk.py import os import ...
- Java实现微信网页授权
开发前的准备: 1.需要有一个公众号(我这里用的测试号),拿到AppID和AppSecret: 2.进入公众号开发者中心页配置授权回调域名.具体位置:接口权限-网页服务-网页账号-网页授权获取用户基本 ...
- LeetCode:完全平方数【279】【DP】
LeetCode:完全平方数[279][DP] 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示 ...
- border --- 透明边框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vim终端配色(非gui版本)——Monokai
啥也别说,先上图. 具体配置: 1. 将molokai.vim文件(下面贴出)放到 ~/.vim/colors 目录下,如没有此文件夹需自行创建. 提示:~ 代表用户主目录,如我的用户名是 akaed ...
- 使用cocoaPods import导入时没有提示的解决办法
1.选择target(就是左边你的工程target)—— BuildSettings —— search Paths 下的 User Header Search Paths(如图所示:) 2.双 ...
- Luogu-4048 [JSOI2010]冷冻波
考虑网络流,二分时间,源点向巫妖连流量为攻击次数的边,把每个巫妖向他能打的小精灵连一条流量为一的边,每个小精灵向汇点连一条边. 预处理每个小精灵能被那些巫妖打,这道题好像视线与树相切也算能打(雾. # ...