疯狂android讲义(第三版)总结之 2.11 使用活动条ActionBar

活动条(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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值