15 ActionBar 总结
ActionBar
一, 说明
是一个动作栏 是窗口特性 提供给用户动作 导航模式 可以适配不同的屏幕
二, ActionBar 提供的功能
1. 显示菜单项
always:总是展示到ActionBar
ifRoom:如果actionBar上有剩余空间 展示出来 没有的话 展示到溢出菜单
never:展示溢出菜单
2. 使用应用程序的图片 回到HOME 或者返回到 上一级
3. 自定义View actionView
4. 提供了导航模式
5. 提供了ActionProvider
三, ActionBar 作用
- 提供给用户指定的空间
- 把重要的动作 或容易访问的 动作
- 提供了导航
四, 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 总结的更多相关文章
- 15 ActionBar.Tab 以及保存fragment对象 代码案例
API 21弃用 values 中 string文件源码: <?xml version="1.0" encoding="utf-8"?> <r ...
- 15 Actionbar的显示和隐藏
ActionBar 显示隐藏方法: 在布局文件中设置 theme主题 <?xml version="1.0" encoding="utf-8"?> ...
- Android ActionBar详解
Android ActionBar详解 分类: Android2014-04-30 15:23 1094人阅读 评论(0) 收藏 举报 androidActionBar 目录(?)[+] 第4 ...
- 在 ActionBar 添加刷新按钮
在以前版本的 Gmail 应用中,ActionBar 上有个刷新菜单,点击一下刷新菜单变成一个转圈的刷新标示动画图片. 之前实现该功能的时候都是使用一个类库 RefreshActionItem来实现的 ...
- 【转】【已解决】Android中ActionBar中不显示overflow(就是三个点的那个按钮)--不错
原文网址:http://www.crifan.com/android_actionbar_three_dot_overflow_not_show/ [问题] 折腾: [记录]继续尝试给Android程 ...
- 【Android 应用开发】 ActionBar 基础
作者 : 万境绝尘 (octopus_truth@163.com) 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/3920439 ...
- Android ActionBar使用方法
对于这ActionBar我想很多人都想了解一下到底是怎么一个使用方法,以及它都存在哪些可操作的和使用的地方.如下图所示:<ignore_js_op> 这便是ActionBar的基本内容.获 ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- 15个关于Chrome的开发必备小技巧[译]
谷歌Chrome,是当前最流行且被众多web开发人员使用的浏览器.最快六周就更新发布一次以及伴随着它不断强大的开发组件,使得Chrome成为你必备的开发工具.例如,在线编辑CSS,console以及d ...
随机推荐
- NOI2006 郁闷的出纳员
题目描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资 ...
- ubuntu16.04安装eclipse后启动栏图标为问号
ubuntu创建eclipse快捷方式图标. cd /usr/share/applications sudo touch eclipse.desktop sudo gedit eclipse.desk ...
- Gradle学习之部署上传项目
原先在公司做项目时,写了一个简单的基于gradle部署项目的脚本,今天翻出来记录一下 一.build.gradle buildscript { ext { env = System.getProper ...
- Python Django系统
本节内容 路由系统,视图函数,模板引擎,ORM操作 FBV和CBV ORM操作补充 Cookie和Session Ajax入门 1. Django基本内容整理 1.1 路由系统 Django中路由系 ...
- C++的入口函数
我们最开始学习c++时,就知道要写一个main()函数,并且知道这是整个函数的入口,但是c++不只有main()函数这一个入口. 一.对于不同的程序函数入口是不同的. main()是WINDOWS的控 ...
- Linux基本知识总结
一.Linux的基本介绍 起源:大家知道先有Unix,后有的linux就行了,其他的细节可以自己查阅资料. 特点:开源!!! 安全(Linux的病毒远少于window). 免费(商业公司最喜欢这一点) ...
- 记一次sql优化——left join不走索引问题
sql一执行就卡住,然后就...杀进程了 看了一下表的大小 第一反应就是加索引,然后explain看了一下走什么索引了,结果很尴尬,三个表,只走了一个索引...一群人在那纠结为毛走不了索引. 无意间发 ...
- box-sizing position
box-sizing 属性 用于更改用于计算元素宽度和高度的默认的 CSS 盒子模型.可以使用此属性来模拟不正确支持CSS盒子模型规范的浏览器的行为. /* 关键字 值 */ box-sizing: ...
- TeamViewer 服务队列网页怎么打开?有什么用?
熟悉一款软件,除了要熟悉它的界面,还应该熟悉它的网站.可能会有很多人说,网站我当然知道了.但是TeamViewer的服务队列页面你真的熟悉吗?所以,今天小编就带大家深入的了解一下TeamViewer服 ...
- Redis持久化的两种方式(RDB和AOF)
redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File). RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储 ...