活动条(ActionBar)

活动条(ActionBar)位于传统的标题栏位置,也就是显示屏的顶部。ActionBar可显示应用的图标和Activity标题——也就是说前面应用程序的顶部显示的内容。
除此之外,ActionBar的右边还可以显示活动项(Action Item).

ActionBar功能:

  • 显示选项菜单的菜单栏(将菜单项显示成Action Item)。
  • 使用程序图标作为返回Home主屏或向上的导航操作。
  • 提供交互式View作为Action View。
  • 提供基于Tab的导航方式,可用于切换多个Fragment。
  • 提供基于下拉的导航方式。

启用ActionBar
最新的Android版本已经默认启用了ActionBar,因此只要在AndroidMainfest.xml文件的SDK配置中指定该应用的目标版本高于11(Android 3.0 的版本号),默认就会启用ActionBar。
配置如下:

<user-sdk android:minSdkVersion="10"
android:targetSdkVersion="17"/>

指定该应用程序部署在Android 4.2平台上,同时兼容Android 2.3.3以及更高的版本。

如果Android版本高于3.0,该应用将会启动ActionBar。

关闭ActionBar,则将该应用主题改为Xxx.NoActionBar即可
配置如下:

<application android:icon="@drawable/ic_launcher"
android:theme="@android:style/Theme.Material.NoActionBar"
android:label="@string/app_name>
....
</application>

在实际的项目中,通常推荐使用代码来控制ActionBar的显示、隐藏。ActionBar提供了show()显示和hide()隐藏。

下面提供书上的实例:

activity_main

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.actionbar.MainActivity">


<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示ActionBar"
android:onClick="showActionBar"
android:layout_marginRight="50dp"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="隐藏ActionBar"
android:onClick="hideActionBar"/>

</LinearLayout>

MainActivity.java

 package com.actionbar;

import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {
ActionBar actionBar;

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//获取该Activity的ActionBar
//只有当应用主题没有关闭ActionBar时,该代码才能返回ActionBar
actionBar = getActionBar();
}

//为"显示ActionBar"按钮定义事件处理方法
public void showActionBar(View source){
//显示ActionBar
actionBar.show();
}

//为"隐藏ActionBar"按钮定义事件处理方法
public void hideActionBar(View source){
//隐藏ActionBar
actionBar.hide();
}
}

AndroidMainfest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.actionbar">


<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
>

<activity
android:name=".MainActivity"
android:label="@string/app_name" >

<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

更多相关文章

  1. 同时兼容高低版本的setBackground跟setTextColor方法
  2. 为什么我的Android应用程序偶尔可以非常快地耗尽电池?
  3. 如何在android 5.0(L)中运行应用程序活动名称?
  4. Android应用程序启动过程上
  5. Android高版本使用照相机报错 Camera error
  6. 不同Android版本设备正确获取屏幕分辨率的通用方法
  7. Java Android套接字连接。错误的IP地址导致应用程序停止响应
  8. eclipse中修改工程的Android版本
  9. Android 为你的应用程序添加快捷方式【优先级高的快捷方式】

随机推荐

  1. Android 实现文件(图片)上传
  2. android bugly使用
  3. android 使用DataBinding问题总结
  4. android打电话和发短信
  5. 2013.6.18 Android SDK和最新ADT下载地址
  6. Android 之开机启动Service
  7. android判断软件是否第一次运行的方法
  8. Linux下安装配置Android开发环境
  9. Error:Execution failed for task ':app:
  10. linux下eclipse构建并编译android一个简