除了fragments(碎片),在Android3和4中新增加的特性,还有ActionBar(活动栏)。ActionBar位于传统标题栏的位置,就在设备屏幕的顶部。ActionBar显示了应用的图标和Activity的标题。可选择地,ActionBar的右侧是那些action items(活动项目)。下图展示了build-in(内置的)Email应用,显示了应用的图标,Activity(活动)的标题,以及一些活动项目。下一节将详细地讨论action items(活动项目)。
下面的例子,将会介绍如何通过编写代码去隐藏和显示ActionBar。
1、创建一个工程,MyActionBar。
2、按F11在模拟器上面调试。此时,你就会看见ActionBar被放置在了屏幕的顶端(包含应用的图标和应用的名称“MyActionBar”)。如下图。
3、想要隐藏ActionBar,可以在AndroidManifest.xml中加入以下代码。
- <?xmlversion="1.0"encoding="utf-8"?>
- <manifestxmlns:android="http://schemas.android.com/apk/res/android"
- package="net.learn2develop.MyActionBar"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdkandroid:minSdkVersion="13"/>
- <application
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name">
- <activity
- android:label="@string/app_name"
- android:name=".MyActionBarActivity"
- android:theme="@android:style/Theme.Holo.NoActionBar">
- <intent-filter>
- <actionandroid:name="android.intent.action.MAIN"/>
- <categoryandroid:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- </activity>
- </application>
- </manifest>
4、按F11重新调试,就会看见,这次ActionBar就不会显示了。
5、也可以通过编写代码的方式去移除ActionBar,但这要使用ActionBar类。如果想这么做的话,首先就得把AndroidManifest.xml中的android:theme属性去掉,否则,将会引起一个Exception(异常)。
6、在MyActionBar.java文件中加入如下代码。
- publicclassMyActionBarActivityextendsActivity{
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- ActionBaractionBar=getActionBar();
- actionBar.hide();
- }
- }
7、按F11重新调试,发现ActionBa依然是隐藏的,但是此时AndroidManifest.xml中的android:theme属性已经被删除了。
注意:
如果在AndroidManifest.xml中定义了主题,把ActionBar给隐藏了。在程序运行时,如果执行getActionBar()方法,就会返回一个null。所以,一般情况下,总是通过编写代码的方式去控制ActionBar的显示和隐藏。
分享到:
相关推荐
本项目"android-controls-demo"旨在提供一个详尽的示例集,展示如何使用一些核心的Android控件,包括Drawer、ActionBar和ViewPager。下面将分别详细介绍这三个关键组件及其在Android开发中的作用。 1. **Drawer** ...
在Android应用开发中,Action Bar是一个非常重要的组件,它提供了应用程序的标识、主要的操作选项以及一个可选的“导航抽屉”(Navigation Drawer)。自定义Action Bar可以帮助开发者根据自己的需求来设计更符合应用...
在Android开发中,ActionBar是一个非常重要的组件,它在Android 4.0(API级别14)及更高版本中被引入,作为应用界面顶部的标准导航和操作区域。在本示例中,我们将深入探讨如何在Android应用程序中使用和自定义...
在Android应用开发中,标题栏(ActionBar)是一个重要的UI组件,它通常位于应用程序界面的顶部,用于显示应用的名称、图标或提供导航选项。在Android的早期版本中,ActionBar是默认的标题栏实现,而在Material ...
ActionBar 是 Android 4.0 (API 级别 14) 引入的一个新特性,它替代了传统的标题栏 (title bar),并提供了一个更丰富、更灵活的界面控件,用于整合应用的基本导航和辅助功能。ActionBar 出现在 Activity 的顶部,...
2. XML布局:在布局文件中,可以使用<androidx.appcompat.widget.Toolbar>替代原生的ActionBar,作为自定义的工具栏。 3. Java代码配置:在Activity的onCreate()方法中,设置Toolbar为ActionBar,通过...
在Android应用开发中,`ActionBar`是一个非常重要的组件,它为用户提供了一种统一的应用导航和操作方式。在Android Studio环境中,我们通常会使用它来增强应用程序的用户界面和交互体验。`ActionBar`提供了如下的...
在Android应用开发中,我们经常追求提供更为沉浸式的用户体验,其中“Android沉浸式状态栏 + actionBar渐变 + scrollView顶部伸缩”是一个常见的设计模式,它能够使应用界面更美观、更具现代感。以下是对这个主题的...
在Android应用开发中,ActionBar是一个重要的组件,它位于应用程序界面的顶部,通常包含应用的标识、导航选项以及一些操作按钮。自定义ActionBar布局是提升应用界面个性化和用户体验的关键步骤之一。本文将深入探讨...
在Android应用开发中,ActionBar是一个重要的组件,它位于应用程序界面的顶部,提供了用户与应用交互的常用操作。这个实例资源是专门为Android开发者设计的,旨在帮助他们理解和掌握如何使用ActionBar来提升应用的...
在Android应用开发中,Action Bar(也称为ActionBar)是用户界面的一个重要组成部分,它通常位于应用程序屏幕的顶部,提供导航、操作以及应用品牌等信息。然而,原生的Action Bar并未提供内置的搜索框功能,开发者...
### Android UI设计与开发之ActionBar详解 #### 一、ActionBar简介及基本概念 ActionBar作为Android应用界面中的一个重要组件,主要用于展示应用的品牌标识、提供主要的导航功能以及其他常见操作的访问入口。它...
在Android应用开发中,ActionBar是一个重要的组件,它位于应用程序界面的顶部,提供了用户与应用交互的关键功能入口。这个“android actionbar简单实例”是针对Android新手或者开发者想要了解和掌握ActionBar基本...
在Android应用开发中,创建一个类似微信6.0版本的底部滑动菜单栏与导航栏是一种常见的需求。这个项目利用了ViewPager、RadioGroup和ActionBar等组件来实现这一功能。下面将详细讲解这些知识点。 首先,`ViewPager`...
在Android应用开发中,ActionBar是一个重要的组件,它位于应用程序界面的顶部,提供了用户与应用交互的关键功能区。这个"Android ActionBar Demo"旨在展示如何在Android应用中有效地利用和自定义ActionBar,以提升...
在Android应用开发中,`ActionBar`和`Fragment`是两个重要的组件,它们分别提供了丰富的界面交互和模块化设计。本文将深入探讨如何在Android项目中将`ActionBar`与`Fragment`结合起来,创建一个功能完善的用户界面。...
在Android应用开发中,ActionBar是一个重要的组件,它位于应用程序界面的顶部,提供了用户与应用交互的常用操作。本文将深入探讨Android ActionBar的学习要点,并通过源代码解析来加深理解。 首先,我们来了解一下...
在Android应用开发中,ActionBar是系统提供的一种顶部导航栏,用于展示应用的标识、标题以及操作选项。然而,系统默认的ActionBar标题布局通常是左对齐的,这在某些设计需求中可能不符合要求。本篇文章将深入探讨...
在Android应用开发中,ActionBar是系统提供的一种顶部导航和操作区域,它通常包含应用的logo、标题、菜单项以及其他的工具栏元素。然而,系统默认的ActionBar可能无法满足所有设计需求,因此开发者需要学会如何...