ActionBar

一, 说明

是一个动作栏 是窗口特性 提供给用户动作 导航模式 可以适配不同的屏幕

二, ActionBar 提供的功能

1. 显示菜单项
always:总是展示到ActionBar
ifRoom:如果actionBar上有剩余空间 展示出来 没有的话 展示到溢出菜单
never:展示溢出菜单 2. 使用应用程序的图片 回到HOME 或者返回到 上一级 3. 自定义View actionView 4. 提供了导航模式 5. 提供了ActionProvider

三, ActionBar 作用

  1. 提供给用户指定的空间
  2. 把重要的动作 或容易访问的 动作
  3. 提供了导航

四, a

1. ActionBar的样式:在清单文件修改主题
换主题 换不同的action样式
android:theme="@style/AppTheme"
android:theme="@android:style/Theme.Light"
android:theme="@android:style/Theme.Holo"
android:theme="@android:style/Theme.Holo.Light"
android:theme="@android:style/Theme.Holo.NoActionBar" 2. ActionBar的显示和隐藏
>隐藏:1,主题 NoActionBar
2,在逻辑代码中 获取ActionBar getActionBar() 控制隐藏
3,requestWindowFeature(Window.FEATURE_NO_TITLE); 在设置布局之前调用
>显示:1,选有ActionBar主题
2,在逻辑代码中 获取ActionBar getActionBar() 控制显示 show() 3. 创建View >res/menu 添加菜单项
android:showAsAction="always" 菜单项的展示位置 在逻辑代码中使用选项菜单的俩个方法 一个添加菜单项 另一个进行监听

五, 分割栏操作

在清单文件中的 或者

添加属性: android:uiOptions=”splitActionBarWhenNarrow”

六, 启动导航图标

//应用图标是否能点击 带一个向左的箭头

actionBar.setDisplayHomeAsUpEnabled(true);

//应用图标是否能点击 不带箭头

//actionBar.setHomeButtonEnabled(true);

    //是否显示应用程序图标
actionBar.setDisplayShowHomeEnabled(true); note:y应用图标的id:android.R.id.home

七, Action View 的使用

系统控件:包名+类名android:actionViewClass=”” 添加View 如果是系统提供的控件(包名.类名)

    >自定义布局   android:actionLayout="@layout/layout" 添加自定义的View  

>展开和折叠:
在菜单布局中设置: android:showAsAction="collapseActionView"
可以用按钮设置监听 让菜单项展开和折叠 展开和折叠可以设置监听:
note:方法里的返回值 设置成true 返回false 不会折叠 //展开和折叠的监听
spinnerItem.setOnActionExpandListener(new OnActionExpandListener() { @Override
public boolean onMenuItemActionExpand(MenuItem item) {
// TODO Auto-generated method stub tvSHow.setText("==onMenuItemActionExpand===展开====");
return true;//返回false 不会折叠
} @Override
public boolean onMenuItemActionCollapse(MenuItem item) {
// TODO Auto-generated method stub tvSHow.setText("==onMenuItemActionCollapse===折叠的====");
return true;
}
});

八, ActionProvider

系统提供者: android:actionProviderClass=”包名.类名”

android:actionProviderClass=”android.widget.ShareActionProvider”

九, ActionBar Tab 导航 通过选项标签来切换Fragment

//获取ActionBar

ActionBar actionBar = getActionBar();

//设置导航模式

actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    ActionBar.Tab tab = actionBar.newTab();
tab.setIcon(android.R.drawable.ic_menu_add);
tab.setText("头条");
tab.setTabListener(this);
actionBar.addTab(tab, true);

15 ActionBar 总结的更多相关文章

  1. 15 ActionBar.Tab 以及保存fragment对象 代码案例

    API 21弃用 values 中 string文件源码: <?xml version="1.0" encoding="utf-8"?> <r ...

  2. 15 Actionbar的显示和隐藏

    ActionBar 显示隐藏方法: 在布局文件中设置 theme主题 <?xml version="1.0" encoding="utf-8"?> ...

  3. Android ActionBar详解

    Android ActionBar详解 分类: Android2014-04-30 15:23 1094人阅读 评论(0) 收藏 举报 androidActionBar   目录(?)[+]   第4 ...

  4. 在 ActionBar 添加刷新按钮

    在以前版本的 Gmail 应用中,ActionBar 上有个刷新菜单,点击一下刷新菜单变成一个转圈的刷新标示动画图片. 之前实现该功能的时候都是使用一个类库 RefreshActionItem来实现的 ...

  5. 【转】【已解决】Android中ActionBar中不显示overflow(就是三个点的那个按钮)--不错

    原文网址:http://www.crifan.com/android_actionbar_three_dot_overflow_not_show/ [问题] 折腾: [记录]继续尝试给Android程 ...

  6. 【Android 应用开发】 ActionBar 基础

    作者 : 万境绝尘 (octopus_truth@163.com) 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/3920439 ...

  7. Android ActionBar使用方法

    对于这ActionBar我想很多人都想了解一下到底是怎么一个使用方法,以及它都存在哪些可操作的和使用的地方.如下图所示:<ignore_js_op> 这便是ActionBar的基本内容.获 ...

  8. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  9. 15个关于Chrome的开发必备小技巧[译]

    谷歌Chrome,是当前最流行且被众多web开发人员使用的浏览器.最快六周就更新发布一次以及伴随着它不断强大的开发组件,使得Chrome成为你必备的开发工具.例如,在线编辑CSS,console以及d ...

随机推荐

  1. Codeforces Round #452 F. Letters Removing

    Description Petya has a string of length n consisting of small and large English letters and digits. ...

  2. 数论:px+py 不能表示的最大数为pq-p-q的证明

    对于互质的两个数p,q,px+py 不能表示的最大数为pq-p-q. 证明: 先证:pq-p-q不能被px+py表示. 假设pq-p-q可以被px+py表示 那么 px+py=pq-p-q       ...

  3. HDU 5506(GT and set)

    题意: 表示看了很久,然而发现还是没看懂题. 正解:给你a个集合,让你把他们合并成k个,当两个集合有公共数字时可以合并. (一直以为是合并后,每个集合至少有两个数字相同- -,这英语也是醉了) 思路: ...

  4. 【UOJ UNR #1】火车管理

    来自FallDream的博客,未经允许,请勿转载,谢谢. 题面 考虑用可持久化线段树直接维护每个点在不同时刻,第一辆车的编号. 这样3操作就变成了区间赋值,1操作变成区间和 2操作的话,只需要查询一下 ...

  5. poj 1845 (逆元 + 约数和)

    题意: 求A^B的所有约数(即因子)之和,并对其取模 9901再输出. 思路: A可以表示为A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn)   其中pi均为素数 那么A的 ...

  6. JVM学习记录-对象已死吗

    前言 先来回顾一下,在jvm运行时数据区,分为两部分,一个部分是线程共享区,主要包括堆和方法区,另一部是线程私有区分包括本地方法栈,虚拟机栈和程序计数器.在线程私有部分的三个区域是随着线程生和灭的.栈 ...

  7. 移动端手势双击(MouseDown也可以在移动端响应,但是帧率太低)

    void Update() { if (Input.touchCount > 0)//手指数量 { if(Input.GetTouch(0).phase == TouchPhase.Began ...

  8. Vue.js + Webpack

    vue.js Vue.js是一个构建数据驱动的 web 界面的库.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件 以上是Vue.js官方定义,故名思议,以数据驱动视 ...

  9. return、break和continue

    return.break和continue 这三个关键字有一个共同点,那就是读能让后面的语句不执行,不同的地方就是挑的距离不一样. return很强大,如果一个函数中有一个return,并且执行了,那 ...

  10. 用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- CustomYieldInstruction 自定义中断指令

    ActionScript3脚本引擎为了方便热更新逻辑开发,提供的从脚本继承Unity类库功能在一些情况下可以提供开发的便利. 这次来建立一个示例,演示一下如何在脚本中自定义协程中断指令 Unity中的 ...