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

转载请注明出处: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上的应用。

<span style="font-size:12px;"><manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.helloworld"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="4"
              android:targetSdkVersion="11" />
    <application ... >
        ...
    </application>
</manifest>
</span>

2、取消ActionBar

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

<span style="font-size:12px;"><activity android:theme="@android:style/Theme.NoTitleBar"></span>

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

ActionBar actionBar = getActionBar();
actionBar.hide();
当你隐藏ActionBar时,系统会将Activity的整个内容充满整个空间。

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

四、示例效果图

五、项目目录结构

六、详细代码编写

1、在menu的layout布局文件中添加一个活动条目Action Items和一个活动视图Action View,main.xml:
<span style="font-size:12px;"><menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/menu_add"
        android:icon="@drawable/ic_title_share_default"
        android:showAsAction="ifRoom|withText"
        android:title="分享"/>
    <item
        android:id="@+id/menu_search"
        android:actionViewClass="android.widget.SearchView"
        android:showAsAction="ifRoom"
        android:title="Search"/>

</menu></span>

2、主界面类,MainActivity.java:

package com.yangyu.myactionbar;

import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ActionBar actionBar = this.getActionBar();
        actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP, ActionBar.DISPLAY_HOME_AS_UP);  

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            // 当ActionBar图标被点击时调用
            System.out.println("点击了Home按钮!");
            break;
        }
        return super.onOptionsItemSelected(item);
    }
}

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

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

时间: 2024-10-10 09:10:12

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

【Android UI设计与开发】10:滑动菜单栏(二)SlidingMenu 动画效果的实现

其实就是在显示菜单栏时,有个动画的效果.代码比较简单,下面进行说明. 1.效果图如下,手机上查看效果更佳 2.代码实现,这里只讲解动画效果的实现,具体代码可在源代码中查看 <1> 先定义一个CanvasTransformer接口对象,这个接口是在slidingmenu_library类库中封装好的 private CanvasTransformer mTransformer; <2> 然后再实例化此接口,重写接口中的方法,例如示例1中的方法: /** * transformCanv

【Android UI设计与开发】4.底部菜单栏(一)Fragment介绍和简单实现

TabActivity在Android4.0以后已经被完全弃用,取而代之的是Fragment.Fragment是Android3.0新增的概念,Fragment翻译成中文是碎片的意思,不过却和Activity十分的相似.以下内容适用于3.0及以上的版本,3.0以下就不再赘述. 官方文档地址:http://developer.android.com/reference/android/support/v4/app/Fragment.html 一.Fragment的基础知识介绍 1.Fragment

【Android UI设计与开发】1.引导界面(一)ViewPager介绍和简单实现

1.ViewPager 实现效果图 2.ViewPager 实现功能 ViewPager类提供了多界面切换的新效果,新效果有如下特征: <1>当前显示一组界面中的其中一个界面: <2>当用户通过左右滑动界面时,当前的屏幕显示当前界面和下一个界面的一部分: <3>滑动结束后,界面自动跳转到当前选择的界面中. 3.ViewPager详细说明 android-support-v4.jar 是谷歌官方给我们提供的一个兼容低版本安卓设备的软件包,里面包囊了只有在安卓3.0以上可以

【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面

[Android UI设计与开发]第05期:引导界面(五)实现应用程序只启动一次引导界面 jingqing 发表于 2013-7-11 14:42:02 浏览(229501) 这篇文章算是对整个引导界面开发专题的一个终结了吧,个人觉得大部分的引导界面基本上都是千篇一律的,只要熟练掌握了一个,基本上也就没什么好说的了,要是在今后的开发中遇到了更好玩,更有趣的引导界面,博主也会在这里及时的跟大家分享,今天的内容主要是教大家的应用程序只有在第一次启动的时候显示引导界面,以后在启动程序的时候就不再显示了

【转】【Android UI设计与开发】第07期:底部菜单栏(二)Fragment的详细介绍和使用方法

原始地址:http://blog.csdn.net/yangyu20121224/article/category/1431917/1 由于TabActivity在Android4.0以后已经被完全弃用,那么我就不再浪费口水继续讲解它了,取而代之的是Fragment.Fragment是Android3.0新增的概念,Fragment翻译成中文是碎片的意思,不过却和Activity十分的相似,这一篇我花大量的篇幅来详细的讲解Fragment的介绍和使用方法. 一.Fragment的基础知识介绍  

【Android UI设计与开发】第09期:底部菜单栏(四)Fragment+PopupWindow仿QQ空间最新版底部菜单栏

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9023451          在今天的这篇文章当中,我依然会以实战加理论结合的方式教大家如何设计出自己觉得很炫的UI界面.好的,话不多说,进入正题.今天的这篇文章主要是以仿QQ空间的底部菜单栏效果为主,实现的效果有: <1>实现了点击按钮时的切换图片效果: <2>实现了点击按钮时的切换界面效果: <3>实现了点击中间圆形按钮时弹出菜单以及按钮图片切

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

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9087941   这篇文章将对ActionBar专题前面几篇学习过的内容做一个总结,顺便运用以前学过的知识实现一个自定义样式的ActionBar标题栏效果.话不多说,进入今天的正题. 一.实现效果图 竖屏效果图:最左边是Logo图标,右边是工具栏按钮,点击Menu键显示其余的按钮键,下方是Tab标签选项. 横屏效果图:竖屏中的Tab选项标签变成了中间的下拉导航按钮 二.项目结

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

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9093821         博主在这篇文章中将会继续围绕顶部标题栏专题来进行实例讲解,今天要讲解的主题是分别使用PopupWindow和Activity两种不同的方式来实现仿微信顶部标题栏弹窗的这样一个效果. 一.实现效果图 这里为了演示方便,我将两种方法放在一个应用程序中演示,这个是主界面 虽然两种实现的方式不一样,但是最终的效果图都是差不多的     二.项目结构图  

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

转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/9050573  在上一篇文章中,我们只是大概的了解了一下关于ActionBar这个类的简单用法,今天我会继续以实例进行更加深入的讲解. 一.实现Tab选项标签 当你想要在一个Activity中提供Tab选项卡时,使用ActionBar的Tab选项标签是一个非常好的选择(而不是使用TabWidget类),因为系统会调整ActionBar的选项标签来适应不同尺寸的屏幕的需要,比如