《Android平板电脑开发秘籍》——3.5节技巧:点击应用程序图标后跳转至应用程序首页

3.5 技巧:点击应用程序图标后跳转至应用程序首页
Android平板电脑开发秘籍
如果用户点击了ActionBar内的Logo或图标,将会跳转至应用程序首页。应用程序首页的意思是应用程序的主Activity,即Activity栈的根成员。

默认情况下,显示在ActionBar中的Logo或图标是不能被点击的。为了让Logo或图标能被点击,必须调用ActionBar的setHomeButtonEnabled()方法,并把Boolean值True传入,如下所示:

actionBar.setHomeButtonEnabled(true);

点击Logo或图标意味着点击了一个菜单项,将由Activity的事件处理方法(Handler)onOptionsItemSelected来处理。当点击Logo或图标时,将被视作点击了ID为android. ``R.id.home的菜单项。换句话说,当点击Logo或者图标时,将会调用onOptionItemSelected()方法,android.R.id.home将作为参数被传入。假设当前Activity是CreateActivity,点击图标后要跳转的主Activity或根Activity为ActionItemsAppActivity,代码清单3-3给出了代码。

代码清单3-3 写入Activity文件CreateActivity.java的代码

package com.androidtablet.actionitemsapp;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
public class CreateActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.create);
        ActionBar actionBar = getActionBar();
        actionBar.setHomeButtonEnabled(true);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {       #1
        switch (item.getItemId()) {
            case (android.R.id.home) :
                Intent intent = new Intent(this,
                    ActionItemsAppActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intent);
                break;
            default:
                return super.onOptionsItemSelected(item);
        }
        return true;
    }
}

上述代码假定名为create.xml的Layout文件已存在于res/layout文件夹中。为了能跳转到主Activity,使用了一个名为FLAG_ACTIVITY_CLEAR_TOP的Intent标记,用以关闭所有在主Activity之后启动的Activity。在上述代码中可以看到,通过调用getActionBar()方法获得了ActionBar对象actionBar,Boolean值True被传入了setHomeButtonEnabled()方法,这使得应用程序的Logo可被点击了。点击应用程序的Logo,将会在ID为android.R.id.home的菜单项上生成一个点击事件。在事件处理方法onOptionsItemSelected()中,将检查ID为android.R.id.home的菜单项是否被点击了,也即应用程序的Logo是否被点击。如果是应用程序Logo被点击了,将会跳转至应用程序的主Activity ActionItemsAppActivity.class中,跳转操作是通过清除栈顶所有其他Activity(如果存在的话)来实现的。

在Android 4.1以上的版本中,上述代码中语句#1代表的onOptionsItemSelected方法可以整个去掉。也就是说,只要在AndroidManifest.xml文件中加入以下语句,就可以跳转至主Activity中了:

<activity android:name=".CreateActivity" android:label="@string/app_name"
android:parentActivityName="ActionItemsAppActivity"/>
时间: 2024-10-31 22:58:15

《Android平板电脑开发秘籍》——3.5节技巧:点击应用程序图标后跳转至应用程序首页的相关文章

《Android平板电脑开发秘籍》——3.4节技巧:在ActionBar中显示Action项

3.4 技巧:在ActionBar中显示Action项 Android平板电脑开发秘籍 为了在ActionBar中显示Action项,需要给菜单项添加android:showAsAction属性,菜单项定义于Menu文件中.showAsAction属性决定了如何显示Action项.showAsAction属性可以是以下值. always--在ActionBar中显示此Action项. ifRoom--仅当空间允许时,才在ActionBar中显示此Action项.如果没有足够的空间,此项将显示在O

《Android平板电脑开发秘籍》——3.2节技巧:显示或隐藏ActionBar

3.2 技巧:显示或隐藏ActionBar Android平板电脑开发秘籍 为了在运行时显示或隐藏ActionBar,可以使用其show和hide方法,如下所示: ActionBar actionBar = getActionBar(); actionBar.hide(); // It hides the ActionBar actionBar.show(); // It makes the ActionBar visible 这里,调用getActionBar()方法获取了ActionBar对

《Android平板电脑开发秘籍》——3.7节技巧:在ActionBar中显示子菜单

3.7 技巧:在ActionBar中显示子菜单 Android平板电脑开发秘籍 为了能在ActionBar中显示显示子菜单,需要将子菜单项分组后放入一个 标签中,并将其嵌入欲与子菜单关联的Action项中.让我们假定,你需要创建Create和Update两个Action项.当用户点击Create项时,将会弹出一个子菜单,显示3个子菜单项Create Invoice.Create Customer和 Create Product.为了理解如何定义Action项的子菜单,请新建一个名为ActionB

《Android平板电脑开发秘籍》——3.10节小结

3.10 小结Android平板电脑开发秘籍在本章中,我们见识了ActionBar在显示程序主要Action时的用途,学习了显示和隐藏ActionBar.理解了各种组件的运作,了解了在ActionBar中显示Action项和Action View的过程.还学习了如何在ActionBar中显示子菜单以及如何创建Tab页式和下拉列表式的ActionBar. 下一章将学习自API 11开始引入的新增Widget.你将学习通过CalendarView在Android应用程序中显示日历.通过NumberP

《Android平板电脑开发秘籍》——3.6节技巧:在ActionBar中显示Action View

3.6 技巧:在ActionBar中显示Action ViewAndroid平板电脑开发秘籍为了更便捷地执行Action,Action View提供了内嵌的控件.从本质上说,Action View允许在ActionBar内放入一个自定义View.Android应用程序最常用的Action View就是SearchView.SearchView提供了一个用户界面,以便输入搜索请求并提交给搜索Provider.如果存在可用的建议项或者结果项,它还能把它们列出来,以便用户能够从中选择.为了能侦测到Se

《Android平板电脑开发秘籍》——3.3节技巧:理解ActionBar组件

3.3 技巧:理解ActionBar组件Android平板电脑开发秘籍ActionBar可由以下组件组成. 应用程序的图标/Logo--显示在ActionBar的左上角.Activity标题--显示ActionBar的标题.Tab--如果导航模式设置为Tab,则显示ActionBar Tab(见图3-1中).下拉列表--如果导航模式设置为list navigation,则以下拉列表的方式显示Action项(见图3-1下).Action项--显示应用程序的各种功能.为了调用一个模块或者执行一项任务

《Android平板电脑开发秘籍》——3.9节技巧:创建一个下拉列表式的ActionBar

3.9 技巧:创建一个下拉列表式的ActionBarAndroid平板电脑开发秘籍在下拉列表式ActionBar 中,Action项以下拉列表的形式显示出来.为了在ActionBar中显示下拉列表,请调用它的setNavigationMode()方法,把ActionBar.NAVIGATION_ MODE_LIST值作为参数传入,如下所示: actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); 下拉列表以spinner方式显示一

《Android平板电脑开发秘籍》——导读

目 录 第1章 Android平板电脑应用程序概述第2章 Fragment第3章 Action中的ActionBar 3.1 技巧:理解菜单和ActionBar之间的区别3.2 技巧:显示或隐藏ActionBar3.3 技巧:理解ActionBar组件 3.4 技巧:在ActionBar中显示Action项3.5 技巧:点击应用程序图标后跳转至应用程序首页 3.6 技巧:在ActionBar中显示Action View 3.7 技巧:在ActionBar中显示子菜单 3.8 技巧:创建一个Tab

《Android 平板电脑开发实战详解和典型案例》——1.2节开发环境的搭建

1.2 开发环境的搭建 Android 平板电脑开发实战详解和典型案例 本节开始进入Android的开发,首先介绍开发环境的搭建.开发环境的搭建分为3个步骤:SDK的安装与环境变量配置.Eclipse集成开发环境的搭建.模拟器的创建与使用,下面对其一一进行讲解. 1.2.1 Android SDK的安装与环境变量配置 Android SDK的安装与环境变量配置包括如下几个步骤. (1) 在Oracle的官方网站上,下载相应的JDK软件(网址为:http://www.oracle.com/tech