ActionBar的使用
ActionBar的使用很普遍,可以充当工具栏使用。本文介绍如何使用ActionBar。
1.ActionBar一般包含有多个工具按钮。所以,需要新建一个xml文件来存放ActionBar中的内容。在程序的res文件夹下新建一个menu文件夹,在menu中新建一个xml命名为optionmenu。

注:要在menu的元素下创建,这样在xml中可以直接生成menu代码。
2.在optionmenu.xml中加入actionbar内容的布局。因为本文的actionbar中的item使用了图片背景,所以在res下新建一个drawable文件夹用来存放背景图片,图片可以在下面这个网站下载http://www.easyicon.net/(个人认为,这个网址还是很方便的)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/zoomin"
android:icon="@drawable/zoomin"
android:title="放大"
android:showAsAction="always"/>
<item
android:id="@+id/zoomout"
android:icon="@drawable/zoomout"
android:title="缩小"
android:showAsAction="always"/>
<item
android:id="@+id/mapscreen"
android:icon="@drawable/map"
android:title="全图"
android:showAsAction="always"/>
<item
android:id="@+id/clear"
android:icon="@drawable/clear"
android:title="清除"
android:showAsAction="always"/> </menu>
3.布局完成后,就要在activity中设置该actionbar的显示。在onCreate函数中加入代码:
ActionBar actionBar = this.getActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP, ActionBar.DISPLAY_HOME_AS_UP);
4.这只是定义了ActionBar,下一步需要找到刚开始定义的xml文件。这需要重写onOptionsItemSelected函数。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.optionmenu, menu);
//SearchView searchView = (SearchView) menu.findItem(R.id.actionview).getActionView();
return true;
}
5.到这一步就可以显示了:

6.点击事件
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(this, "单击了图标", Toast.LENGTH_SHORT).show();
return true;
case R.id.zoomin:
Toast.makeText(this, "放大", Toast.LENGTH_SHORT).show();
return true;
case R.id.zoomout:
Toast.makeText(this, "缩小", Toast.LENGTH_SHORT).show();
return true;
case R.id.mapscreen:
Toast.makeText(this, "全图", Toast.LENGTH_SHORT).show();
return true;
case R.id.clear:
Toast.makeText(this, "清除", Toast.LENGTH_SHORT).show();
return true; default:
return super.onOptionsItemSelected(item);
}
}

另外,可以更换项目的标题图片:在AndroidManifest.xml中修改<application>标签中的android:icon的值就ok了。
ActionBar的使用的更多相关文章
- Android中通过ActionBar为标题栏添加搜索以及分享视窗
在Android3.0之后,Google对UI导航设计上进行了一系列的改革,其中有一个非常好用的新功能就是引入的ActionBar,他用于取代3.0之前的标题栏,并提供更为丰富的导航效果.Action ...
- Android 添加ActionBar Buttons
一.在res/menu文件夹下创建Xml文件 跟标签为menu,设置item <?xml version="1.0" encoding="utf-8"?& ...
- mono for android 自定义titleBar Actionbar 顶部导航栏 修改 样式 学习
以前的我是没有做笔记的习惯的,学习了后觉得自己能记住,但是最近发现很多学的东西都忘记了,所有现在一有新的知识,就记下来吧. 最近又做一个mono for android 的项目 这次调整比较大,上次做 ...
- Xamarin.Android之ActionBar与菜单
一.选项卡 如今很多应用都会使用碎片以便在同一个活动中能够显示多个不同的视图.在Android 3.0 以上的版本中,我们已经可以使用ActionBar提供的Tab来实现这种效果,而不需要我们自己去实 ...
- 自定义ActionBar标题与菜单中的文字样式
自定义标题文字样式 标题样式是ActionBar样式的一部分,所以要先定义ActionBar的样式 <style name="AppTheme" parent="A ...
- ActionBar设置自定义setCustomView()留有空白的问题
先来看问题,当我使用ActionBar的时候,设置setCustomView时,会留有空白的处理 网上很多朋友说可以修改V7包到19,结果处理的效果也是不理想的. 下面贴出我觉得靠谱的处理代码 pub ...
- Android ActionBar 初探
1.指南,例子,个人感觉 首先上官网指南链接http://developer.android.com/guide/topics/ui/actionbar.html 参考了官网上的例子http://de ...
- Menu与ActionBar的爱恨情仇
最近在开发一款音乐播放器,在开发过程中遇到了一点小麻烦,通过android API搞清楚了Menu与ActionBar的爱恨情仇,写了个小Demo祭奠一下那些年我们陷进去的坑,有不对的地方请大神们批评 ...
- ANDROID中去掉ACTIONBAR或TABWIDGET的分隔线
在android中,有时需要对ActionBar或者TabWidget的分隔线进行定制,如取消,相关的属性设置为android:divider 以TabWidget为例,取消对应的函数: tabWid ...
- 关于ActionBar
添加ActionBar: Android 3.0(API 11)(不含API11)以下的版本中,如果需要活动有ActionBar,需要让活动继承ActionBarActivity类,并且在Manife ...
随机推荐
- 【经验】ansible 批量推送公钥
1.使用 ssh-keygen -t rsa生成密钥对 ssh-keygen -t rsa 2.推送单个公钥到远程机器 格式: ssh-copy-id -i ~/.ssh/id_rsa.pub use ...
- python学习笔记-多进程
multiprocessing from multiprocessing import Process import time def f(name): time.sleep(2) print('he ...
- LSD-SLAM深入学习(1)-基本介绍与ros下的安装
前言 借鉴来自RGB-D数据处理的两种方法-基于特征与基于整体的,同样可以考虑整个图片的匹配,而不是只考虑特征点的…… 一般这种稠密的方法需要很大的计算量,DTAM: Dense tracking a ...
- 空MVC项目找不到System.Web.Optimization的处理办法
install-package Microsoft.AspNet.Web.Optimization Create the bundle in Global.asax Application_Start ...
- jQueryAjax笔记
ajax优点:能在不刷新整个页面的前提下更新数据,使用户操作与服务器响应异步化. ajax缺点:破坏浏览器“前进”.“后退”按钮的正常功能,搜索引擎爬虫不能理解那些奇怪的JS代码和因此引起的页面内容的 ...
- android开发学习笔记000
使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...
- Html命名锚
这个有什么用 案例 参考资料 这个有什么用 嘛, 不管写博客,还是公司的wiki,一般开头都会有个目录什么的, 这时候命名描就有用了, 所谓的描就是书签. 案例 比如这篇博客的目录,首先建立一个无序列 ...
- 禁止盗链,强制回登录页面web.config配置
<system.web> <compilation debug="true" targetFramework="4.5" /> < ...
- iptables示例
[root@iZ23um2lv3tZ ~]# more /etc/sysconfig/iptables # Generated by iptables-save v1. :: *filter :INP ...
- 最小生成树算法——Kruskal算法
#include<stdio.h> #include<algorithm> #include<windows.h> using namespace std; str ...