【Android UI设计与开发】第10期:顶部标题栏(一)ActionBar详细概述和简单示例

转载 2015年06月21日 15:22:50

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9042387  


       由于是刚开始写博客,所以一开始在格式上也没有太在意,今天偶然间翻阅自己的博客,却发现字体、代码以及图片什么的都几乎快挤到了一起,自己都觉得看着很难受,更别说别的读者了。为了大家能够读的清楚、看的明白,今天博主稍微花了一点时间把这个专题前几期文章的标题和格式全都改了一遍。希望读者们继续支持,你们的支持也是我最大的动力!     

 


一、ActionBar介绍

 

       在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle bar和menu,在程序运行中一直置于顶部,对于Android平板设备来说屏幕更大它的标题使用Action Bar来设计可以展示更多丰富的内容,方便操控。 

 


二、ActionBar的功能

 

用图的方式来讲解它的功能

 

<1> 可显示软件图标,也可用其他图标代替。当软件不在最高级页面时,图标左侧会显示一个左箭头,用户可以通过这个箭头向上导航;

 

<2> 如果你的应用要在不同的View中显示数据,这部分允许用户来切换视图。一般的作法是用一个下拉菜单或者是Tab选项卡。如果只有一个界面,那这里可以显示应用程序的标题或者是更长一点的商标信息;


<3> 这里放重要的按钮功能,为用户进行某项操作提供直接的访问;

 

<4> 放不下的按钮会被置于“更多...”菜单项中,“更多...”菜单项是以下拉形式实现的。

 


三、使用ActionBar注意事项

 

1、得到ActionBar

      在Android 3.0及更高的版本中,Activity中都默认包含有ActionBar组件。一个应用被认为是基于Android 3.0的标识是在AndroidManifest中的<uses-sdk>标签中设置了android:minSdkVersion或者android:targetSdkVersion属性值为11或者更大值时,此时的应用被系统认为是Android 3.0上的应用。

[html] view plaincopy
  1. <span style="font-size:12px;"><manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  2.       package="com.example.helloworld"  
  3.       android:versionCode="1"  
  4.       android:versionName="1.0">  
  5.     <uses-sdk android:minSdkVersion="4"  
  6.               android:targetSdkVersion="11" />  
  7.     <application ... >  
  8.         ...  
  9.     </application>  
  10. </manifest>  
  11. </span>  

 

 

2、取消ActionBar

      如果需要隐藏Action Bar可以在你的Activity的属性中设置主题风格为NoTitleBar在你的manifest文件中,下面的代码在3.0以前是隐藏标题,而在3.0以后就是隐藏ActionBar了,代码为:

[html] view plaincopy
  1. <span style="font-size:12px;"><activity android:theme="@android:style/Theme.NoTitleBar"></span>  

      还有一种做法,在运行时调用hide()方法也可以隐藏ActionBar,调用show()方法来显示ActionBar()。例如:

[java] view plaincopy
  1. ActionBar actionBar = getActionBar();  
  2. actionBar.hide();  

当你隐藏ActionBar时,系统会将Activity的整个内容充满整个空间。

 

注意:如果使用一个主题(theme)来移除Activity上得ActionBar,那么窗口将不再会有ActionBar,因此在运行时也就没有办法来添加ActionBar——调用getActionBar()方法会返回null值。

 


四、示例效果图

 



 


五、项目目录结构

 

 


六、详细代码编写

 

1、在menu的layout布局文件中添加一个活动条目Action Items和一个活动视图Action View,main.xml:

[html] view plaincopy
  1. <span style="font-size:12px;"><menu xmlns:android="http://schemas.android.com/apk/res/android" >  
  2.   
  3.     <item  
  4.         android:id="@+id/menu_add"  
  5.         android:icon="@drawable/ic_title_share_default"  
  6.         android:showAsAction="ifRoom|withText"  
  7.         android:title="分享"/>  
  8.     <item  
  9.         android:id="@+id/menu_search"  
  10.         android:actionViewClass="android.widget.SearchView"  
  11.         android:showAsAction="ifRoom"  
  12.         android:title="Search"/>  
  13.   
  14. </menu></span>  


2、主界面类,MainActivity.java:

[java] view plaincopy
  1. package com.yangyu.myactionbar;  
  2.   
  3. import android.app.ActionBar;  
  4. import android.app.Activity;  
  5. import android.os.Bundle;  
  6. import android.view.Menu;  
  7. import android.view.MenuItem;  
  8.   
  9. public class MainActivity extends Activity {  
  10.   
  11.     @Override  
  12.     protected void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.activity_main);  
  15.           
  16.         ActionBar actionBar = this.getActionBar();    
  17.         actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP, ActionBar.DISPLAY_HOME_AS_UP);    
  18.   
  19.     }  
  20.   
  21.     @Override  
  22.     public boolean onCreateOptionsMenu(Menu menu) {  
  23.         getMenuInflater().inflate(R.menu.main, menu);  
  24.         return true;  
  25.     }  
  26.   
  27.     @Override  
  28.     public boolean onOptionsItemSelected(MenuItem item) {  
  29.         switch (item.getItemId()) {  
  30.         case android.R.id.home:  
  31.             // 当ActionBar图标被点击时调用  
  32.             System.out.println("点击了Home按钮!");  
  33.             break;  
  34.         }  
  35.         return super.onOptionsItemSelected(item);  
  36.     }  
  37. }  

       

注意:调用getActionBar方式在你的Activity的onCreate中时需要注意必须在调用了setContentView之后。

          

      好了,今天就写到这里吧,依然是以一个简单的示例来练练手,后面会继续更加深入的讲解关于ActionBar的更多的用法。

代码下载地址

相关文章推荐

【Android UI设计与开发】第10期:顶部标题栏(一)ActionBar详细概述和简单示例

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9042387          由于是刚开始写博客,所以一开...

【Android UI设计与开发】第10期:顶部标题栏(一)ActionBar详细概述和简单示例

由于是刚开始写博客,所以一开始在格式上也没有太在意,今天偶然间翻阅自己的博客,却发现字体、代码以及图片什么的都几乎快挤到了一起,自己都觉得看着很难受,更别说别的读者了。为了大家能够读的清楚、看的明白,...

【Android UI设计与开发】第13期:顶部标题栏(四)自定义ActionBar风格和样式

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9087941         这篇文章将对Act...

【Android UI设计与开发】第13期:顶部标题栏(四)自定义ActionBar风格和样式

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9087941         这篇文章将对Act...

【Android UI设计与开发】第12期:顶部标题栏(三)ActionBar实现层级导航的返回效果

今天我们继续来讲解ActionBar的使用,不清楚这个类的读者可以翻阅博主前几篇的文章或者在网络上查阅相关 的资料,关于这个类讲解的文章还是很多的,功能确实也很强大。好的,话不多说,让我们赶快进入正题...

【Android UI设计与开发】第11期:顶部标题栏(二)ActionBar实现Tab选项卡和下拉导航列表

在上一篇文章中,我们只是大概的了解了一下关于ActionBar这个类的简单用法,今天我会继续以实例进行更加深入的讲解。   一、实现Tab选项标签          当你想要在一个Activity中提...

【Android UI设计与开发】第13期:顶部标题栏(四)自定义ActionBar风格和样式

这篇文章将对ActionBar专题前面几篇学习过的内容做一个总结,顺便运用以前学过的知识实现一个自定义样式的ActionBar标题栏效果。话不多说,进入今天的正题。 一、实现效果图 竖屏效果图:最...

【Android UI设计与开发】第13期:顶部标题栏(四)自定义ActionBar风格和样式 .

这篇文章将对ActionBar专题前面几篇学习过的内容做一个总结,顺便运用以前学过的知识实现一个自定义样式的ActionBar标题栏效果。话不多说,进入今天的正题。 一、实现效果图 竖屏效果图:最...

【Android UI设计与开发】8.顶部标题栏(一)ActionBar 奥义·详解

一、ActionBar介绍   在Android 3.0中除了我们重点讲解的Fragment外,Action Bar也是一个非常重要的交互元素,Action Bar取代了传统的tittle ba...

【Android UI设计与开发】第14期:顶部标题栏(五)两种方式实现仿微信标题栏弹窗效果

博主在这篇文章中将会继续围绕顶部标题栏专题来进行实例讲解,今天要讲解的主题是分别使用PopupWindow和Activity两种不同的方式来实现仿微信顶部标题栏弹窗的这样一个效果。 一、实现效果图...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Android UI设计与开发】第10期:顶部标题栏(一)ActionBar详细概述和简单示例
举报原因:
原因补充:

(最多只允许输入30个字)