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. 搭积木(block)

    [问题描述]小 OY 是一个喜欢搭积木的孩子,他有一天决定向小 C 展示他特别的搭积木技巧.现在一条直线上从左到右有 n 个位置,标号 1..n,第 i 个位置坐标为 x_i.每个位置上都预先叠好了一 ...

  2. [bzoj4906][BeiJing2017]喷式水战改

    来自FallDream的博客,未经允许,请勿转载,谢谢. [题目背景] 拿到了飞机的驾照(?),这样补给就不愁了 XXXX年XX月XX日 拿到了喷气机(??)的驾照,这样就飞得更快了 XXXX年XX月 ...

  3. [BZOJ]3243 向量内积(Noi2013)

    小C做了之后很有感觉的题目之一,但因为姿势不对调了很久. Description 两个d 维向量A=[a1,a2,...,ad]与B=[b1,b2,...,bd]的内积为其相对应维度的权值的乘积和,即 ...

  4. Linux下安装3.0以上的python

    Linux下自带的python2.7是不建议删除的,很多系统软件依赖python2.7,但是现在我们学习python一般需要python3.0,下面介绍安装python3.0. 1.进入python官 ...

  5. C语言程序设计第六次作业--循环结构2

    (一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ...

  6. MySql查询不区分大小写解决方案(两种)

    当我们输入不管大小写都能查询到数据,例如:输入 aaa 或者aaA ,AAA都能查询同样的结果,说明查询条件对大小写不敏感. 解决方案一: 于是怀疑Mysql的问题.做个实验:直接使用客户端用sql查 ...

  7. Servlet init()

    有时候希望在servlet首次载入时,执行复杂的初始化任务,但并不想每个请求都重复这些任务的时候,用init()方法他在servlet初次创建时被调用,之后处理每个用户的请求时,则不在调用这个方法.因 ...

  8. Redis从入门到精通:初级篇

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Redis的文章了,工作中 ...

  9. thymeleaf:局部变量 th:with

    当th:with被处理,firstPer变量创建一个局部变量和变量添加到map自上下文,以便它是用于评估和其他上下文中声明的变量从开始,但只有包含< div >标记的范围内. <di ...

  10. 修改apache默认主页,重定向404页面

    yum 下载apache后默认主页 默认配置文件: vim /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/welcome.conf 跳转页面到 /var/w ...