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.点击事件

 1 @Override
 2     public boolean onOptionsItemSelected(MenuItem item){
 3         switch (item.getItemId()) {
 4         case android.R.id.home:
 5             Toast.makeText(this, "单击了图标", Toast.LENGTH_SHORT).show();
 6             return true;
 7         case R.id.zoomin:
 8             Toast.makeText(this, "放大", Toast.LENGTH_SHORT).show();
 9             return true;
10         case R.id.zoomout:
11             Toast.makeText(this, "缩小", Toast.LENGTH_SHORT).show();
12             return true;
13         case R.id.mapscreen:
14             Toast.makeText(this, "全图", Toast.LENGTH_SHORT).show();
15             return true;
16         case R.id.clear:
17             Toast.makeText(this, "清除", Toast.LENGTH_SHORT).show();
18             return true;25         default:
26             return super.onOptionsItemSelected(item);
27         }
28     }

另外,可以更换项目的标题图片:在AndroidManifest.xml中修改<application>标签中的android:icon的值就ok了。

时间: 2024-10-15 20:05:39

ActionBar的使用的相关文章

ActionBar效果图,功能一览

一.概述 1.App icon 应用的图标,左侧带应用相当于back返回键 2.ViewControl 3.Action button 相当于普通的Button可以监听点击事件 4.Action overflow 三个点,相当于手机上的menu键,可以显示隐藏的action button 二. 显示情景 1. 屏幕空间有限,这就好理解actionbar中的showAsAction中的属性了.决定什么情景要不要在顶部显示.   2. 但是就算是屏幕很大有时候还是无法显示全部,这时候就要用到一种的第

ActionBar 自定义布局定义

Android系统中ActionBar默认的布局不美观且难于控制,通过为ActionBar自定义布局的方式可以灵活控制ActionBar. 效果: 工具/原料 android集成开发环境eclipse.ADT android sdk 3.0及以上 方法/步骤 自定义Activity主题和ActionBar样式 在新建的android工程的res/values/styles.xml添加自定义ActionBar样式的代码和自定义Activity主题的代 码,并在AndroidMainfest.xml

Android ActionBar详解

关于ActionBar,相信大家并不陌生,但是真正能够熟练使用的也不是很多,这篇文章主要为大家详细介绍ActionBar的相关知识,ActionBar是在Android3.0中引入的概念,所以在2.x系统中使用ActionBar我们需要依赖ActionBarSherklock或者androi-support-v7库,ActionBarSherklock是anroid中非常有名的一个开源项目,android-support-v7是Google后来推出的一个库,有了v7库后AndroidBarShe

用BadgeView在actionbar menu上显示提醒信息

有时候需要在actionbar menu上显示消息个数,所以可以用BadgeView来实现. 实现方法是获取actionbar menuitem的view,然后创建BadgeView.注意,通常只能在Optionsmenu创建完成之后去获取menuitem的view.我们可以在onCreate方法中延时1秒去处理. <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="ht

告别ActionBarSherlock——Android.support包也能打造兼容2.x的ActionBar(1)

http://www.bdqn.cn/news/201308/10625.shtml 摘要: 告别ActionBarSherlock——android.support包也能打造兼容2.x的ActionBar(1) ActionBar是Android 3.0的产物 一直延伸到现在最新的4.3 就个人而言 ActionBar相比传统的弹出式菜单 更加简洁 但是ActionBar只有API 10以上(包括API 10)才能尝到 于是有些大神便打造出了ActionBarSherlock,为2.x带来了一

Android导航栏ActionBar的详细分析 一

尊重原创:http://blog.csdn.net/yuanzeyao/article/details/39378825 关于ActionBar,相信大家并不陌生,但是真正能够熟练使用的也不是很多,这篇文章主要为大家详细介绍ActionBar的相关知识,ActionBar是在Android3.0中引入的概念,所以在2.x系统中使用ActionBar我们需要依赖ActionBarSherklock或者androi-support-v7库,ActionBarSherklock是anroid中非常有名

Android 修改Activity标题样式 actionBar

修改Activity的标题样式及ActionBar ,代码如下 <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <!-- <item name=

Android中ActionBar以及menu的代码设置样式

Android中ActionBar以及menu的代码样式如何设置?今天麦子学院android开发老师主要介绍Android中ActionBar以及menu的代码设置样式,,有需求的朋友可以参阅下 menu有些xml代码 http://schemas.android.com/apk/res/android"> <="" div=""> android:title="查找1" android:orderInCategory

Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/25466665 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文. http://developer.android.com/guide/topics/ui/actionbar.html 限于篇幅的原因,在上篇文章中我们只学习了ActionBar基础部分的知识,那么本篇文章我们将接着上一章的内容继续学习,探究一下ActionBar

Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/18234477 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文. http://developer.android.com/guide/topics/ui/actionbar.html Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用