Android ActionBar使用介绍
一、什么是ActionBar
有图有真相,看一下图片就了解的差不多了
对于大多数应用,操作栏可以分割为 4 个不同的功能区域。
1. 应用图标
应用图标是您应用的标志。在应用图标位置摆放您自己的 logo。注意: 如果当时应用不再顶层界面,那么在图标左边放置一个向左的箭头,表示“向上”按钮,使用户可以回到上一级界面。“向上”按钮的更多细节,请查看 导航 - Navigation 一节。
应用图标以及有和没有“向上”按钮的状态。
2. 视图控制
如果您的应用通过多个不同的视图显示数据,这个区域将允许用户切换视图。可以使用下拉菜单或者标签控件来实现。
如果您的应用没有多个视图,您可以在这里显示不可操作的内容,例如标题或者品牌信息。
3. 操作按钮
显示您应用中最重的操作。如果图标放不下了,就自动移入“其它操作”菜单。
4. 其它操作
将较少被用到的操作放在这个菜单里。
上面这个是google+应用,可以这样理解,ActionBar就是方便用于导航和操作的一个类,苹果是底部导航的风格,那安卓是顶部的风格。操作栏的主要目的是:
- 突出重要的操作 (例如“新建”和“搜索”) 并且可以方便的使用。
- 在应用内提供统一的导航和视图切换体验。
- 较少使用的功能收集到其它操作菜单中,减少界面上的杂乱布局。
- 为您的应用提供一个展示其特点的空间。
二、如何使用ActionBar
从Android3.0(API级别11)开始,Action Bar包括在所有Activity中使用的Theme.Holo主题(或是继承Activity的一个子类),如果你不想为一个特定的Activity设置Action Bar,设置Activity主题为Theme.Holo.NoActionBar。如果想让程序在低于3.0版本中使用ActionBar,可以使用开源组件:ActionBar Sherlock。
1、添加操作项,什么是操作项,看图:就是红线指定的地方,对应的布局文件是menu文件夹下的xml。在activity中这样使用:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
是不是很眼熟,上面的总结一下:Actionbar就是替换3.0以前的tittle bar和menu。那如何相应菜单的点击事件呢,和之前一样,调用onOptionsItemSelected()方法,
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuitem1:
Toast.makeText(this, "Menu Item 1 selected", Toast.LENGTH_SHORT)
.show();
break;
case R.id.menuitem2:
Toast.makeText(this, "Menu item 2 selected", Toast.LENGTH_SHORT)
.show();
break; default:
break;
} return true;
}
这样就可以操作actions,下面看一下menuxml文件,
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/nba"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:title="@string/nba"/>
<item
android:id="@+id/footbal"
android:orderInCategory="100"
android:showAsAction="never"
android:icon="@drawable/ic_launcher"
android:title="@string/footbal"/> </menu>
需要注意的是, android:showAsAction这个属性,他有几个数值,每一个数值代表意思都不一样,使用时候看一下。而且,actions的显示位置是和屏幕大小相关联的。
2、隐藏Navigation,Navigation就是这个东西,,在手机上,有的是以实体键形式存在的,这个是设备自己设定的。利用下面代码就可以把这个Navigation取消:
getWindow().
getDecorView().
setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
3、ActionBar非常实用的一个功能就是返回上一层界面
Android ActionBar使用介绍的更多相关文章
- GitHub上排名前100的Android开源库介绍(来自github)
本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然后过滤了 ...
- Android ActionBar应用实战,高仿微信主界面的设计
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/26365683 经过前面两篇文章的学习,我想大家对ActionBar都已经有一个相对 ...
- Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/18234477 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工 ...
- Android ActionBar全然解析,使用官方推荐的最佳导航栏(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/18234477 本篇文章主要内容来自于Android Doc.我翻译之后又做了些加工 ...
- 【转】Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/18234477 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工 ...
- GitHub上排名前100的Android开源库介绍
GitHub上排名前100的Android开源库介绍 文章来源: http://www.open-open.com/news/view/1587067#6734290-qzone-1-31660-bf ...
- Android sdk目录介绍
android sdk目录介绍 build-tools 各版本SDK编译工具 docs 离线开发者文档Android SDK API参考文档 extras 扩展开发包,如兼容架包. platforms ...
- 我的Android第三章:Android的组件介绍
小编摘录了Android文档介绍Android四大组件的基本内容,感觉文档的内容写的很详细所以小编将它写入了博客 Android 使用Java语言开发.Android SDK 工具编译代码-以及任意数 ...
- android MVP模式介绍与实战
android MVP模式介绍与实战 描述 MVP模式是什么?MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数 ...
随机推荐
- AngularJS过滤器filter入门
在开发中,经常会遇到这样的场景 如用户的性别分为“男”和“女”,在数据库中保存的值为1和0,用户在查看自己的性别时后端返回的值自然是1或0,前端要转换为“男”或“女”再显示出来: 如我要换个羽毛球拍, ...
- Eclipse常见设置与操作
Eclipse虽然被IDEA超越了,但仍然是最佳的JAVA开发工具哈.因为经常会在不同的开发环境中进行开发,所以对Eclipse常见操作做一个记录,以便于查阅,这部分内容会持续进行更新. 界面布局设置 ...
- SpringMVC框架02——SpringMVC的Controller详解
1.基于注解的控制器 1.1.@Controller 注解类型 在SpringMVC中使用org.springframework.stereotype.Controller注解类型声明某类的实例是一个 ...
- java List/ArrayList 解惑
导读:祖传挖坟派学习方法(宝儿姐友情支持) 第一部分 List简介 第二部分 何为ArrayList 第三部分 代码示例 第四部分 吹牛 如果你急需想搞清楚一些问题可以先看这里的总结 再后续看 ...
- BZOJ.1951.[SDOI2010]古代猪文(费马小定理 Lucas CRT)
题目链接 \(Description\) 给定N,G,求\[G^{\sum_{k|N}C_n^k}\mod\ 999911659\] \(Solution\) 由费马小定理,可以先对次数化简,即求\( ...
- 19. 删除链表的倒数第N个节点
19. 删除链表的倒数第N个节点 题意 删除链表的倒数第N个结点 解题思路 先让快结点移动n个位置,接着再让慢结点和快结点同时移动,发现出慢结点就是要删除的结点,将前结点指向删除结点的下一个结点即可: ...
- [Go] 单元测试/性能测试 (go test)
特征 Golang 单元测试对文件名和方法名,参数都有很严格的要求.例如: 1.文件名必须以 _test.go 结尾 2.方法名必须是 Test 开头 3.方法参数必须是 t *testing.T 或 ...
- Revit API风管对齐
start [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] ].Origin, list ...
- mysql主从同步失败Last_IO_Error: Got fatal error 1236 from master解决方法
mysql教程主从同步失败Last_IO_Error: Got fatal error 1236 from master解决方法 遇到这样的错误如:“Last_IO_Error: Got fatal ...
- android模拟器修改时间
我们看右上角的模拟器的时间,是不是和我们现在时间不同步呢 点击主菜单之后,我们找到下边的设置的按钮 下边找到时间和日期, 怎么把页面修改中文, 可以看(安卓模拟器怎么修改语言)的经验 ...