Android官方教程翻译(5)——设置ActionBar

时间:2023-01-29 10:06:26

Setting Up the Action Bar

设置Action Bar

PREVIOUSNEXT

THIS LESSONTEACHES YOU TO

这节课教你

1.    Support Android 3.0 and Above Only仅仅支持3.0以上

2.    Support Android 2.1 and Above     支持2.1以上

YOU SHOULD ALSOREAD

·       Setting Up the Support Library

In its most basic form, the action bardisplays the title for the activity and the app icon on the left. Even in thissimple form, the action bar is useful for all activities to inform users aboutwhere they are and
to maintain a consistent identity for your app.

Action Bar最常见的形式是在左边显示标题和应用的图标。尽管很简单,但是很常见很有用,用他去显示用户登陆信息和身份。

Figure 1. An action bar with the app icon andactivity title.

Setting up a basic action bar requiresthat your app use an activity theme that enables the action bar. How to requestsuch a theme depends on which version of Android is the lowest supported byyour app. So this lesson
is divided into two sections depending on whichAndroid version is your lowest supported.

建立一个最基本的action bar需要一个可用主题的activity。怎样去获得这个主题依赖于Android程序的版本。所以这节课根据最低版本分为两个部分。

Support Android3.0 and Above Only


Beginning with Android 3.0 (API level11), the action bar is included in all activities that use the Theme.Holotheme
(or one of its descendants), whichis the default theme when either the targetSdkVersion orminSdkVersion attribute
is set to "11" or greater.

So to add the action bar to youractivities, simply set either attribute to 11 or
higher. For example:

Android3.0版本已经默认启用了Action Bar,因此只要版本高于“11”那么默认就会启动Action
Bar

例如下面配置。

<manifest ...
>

    <uses-sdk android:minSdkVersion="11" ...
/>

    ...

</manifest>

Note: If you've created a custom theme, besure it uses one of the Theme.Holo themes
as its parent. For details, see Styling theAction Bar.

Now the Theme.Holo theme
is applied to your app and allactivities show the action bar. That's it.

Support Android2.1 and Above


Adding the action bar when running on versionsolder than Android 3.0 (down to Android 2.1) requires that you include theAndroid Support Library in your application.

如果你是2.1以上3.0以下则需要下载支持的jar包。

To get started, read the Support LibrarySetup document
and set up the v7appcompat library (once you've downloaded the library package, follow theinstructions for Adding
librarieswith resources
).

Once you have the Support Libraryintegrated with your app project:

如果你的工程支持该库:

1.     Update your activity so that it extends ActionBarActivity.
For example:

让activity继承ActionBarActivity

public
class MainActivity
extends ActionBarActivity
{ ... }

2.     In your manifest file, update either the <application> element
or individual <activity> elements
to use one of the Theme.AppCompat themes.
For example:

在manifest文件中更改<application>元素或有一个<activity>元素使用Theme.AppCompat主题。例如:

<activity
android:theme="@style/Theme.AppCompat.Light" ...
>

Note: If you've created a custom theme, besure it uses one of the Theme.AppCompat themes
as its parent. For details, see Styling theAction Bar.

Now your activity includes the actionbar when running on Android 2.1 (API level 7) or higher

现在你的activity包含action bar当Android版本高于2.1

Remember to properly set your app's APIlevel support in the manifest:

记得去设置API级别支持action bar

<manifest ...
>

    <uses-sdk android:minSdkVersion="7"  android:targetSdkVersion="18"
/>

    ...

</manifest>

如果希望关闭ActionBar可以设置该应用的主题为,Xxx.NoActionBar

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.holo.NoAction" >
<activity
android:name="com.example.test.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>

一旦关闭ActionBar该不能使用

实际的项目中,通常推荐使用代码来控制ActionBar的显示和影藏,ActionBar提供了如下方法:

show():显示

hide()影藏

package com.example.test;

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.show();
} //为“隐藏ActionBar"按钮定义事件处理方法
public void hideActionBar(View source){
//隐藏
actionBar.hide();
}
}

Android官方教程翻译(5)——设置ActionBar的更多相关文章

  1. Android官方教程翻译(6)——添加ActionBar

    The action bar allows you to add buttons for the most important action items relating to the app's c ...

  2. Android官方教程翻译(4)——启动另一个Activity

    Starting Another Activity 启动另一个Activity PREVIOUSNEXT THIS LESSON TEACHES YOU TO 这节课教你 1.   Respond t ...

  3. Android官方教程翻译&lpar;1&rpar;——创建第一个Android应用

    转载请注明出处:http://blog.csdn.net/dawanganban/article/details/9822431 Building Your First App GETSTARTED ...

  4. Android官方教程翻译(3)——创建一个简单的用户界面

    转载请注明出处:http://blog.csdn.net/dawanganban/article/details/9839523 Building a Simple User Interface 创建 ...

  5. Android官方教程翻译(2)——运行第一个程序

    转载请注明出处:http://blog.csdn.net/dawanganban/article/details/9823623 Running Your App PREVIOUSNEXT THIS ...

  6. c&num; MongoDB Driver 官方教程翻译

    先贴官方文档地址:http://mongodb.github.io/mongo-csharp-driver/2.5/getting_started/quick_tour/ 安装部分很简单,nuget搜 ...

  7. Pytest权威教程&lpar;官方教程翻译&rpar;

    Pytest权威教程01-安装及入门 Pytest权威教程02-Pytest 使用及调用方法 Pytest权威教程03-原有TestSuite的执行方法 Pytest权威教程04-断言的编写和报告 P ...

  8. android 官方教程地址和一个中文教程

    https://developer.android.google.cn/guide/components/fundamentals http://www.runoob.com/w3cnote/andr ...

  9. android 官方教程中文版

    感谢这些默默奉献的人 :) https://github.com/kesenhoo/android-training-course-in-chinese http://hukai.me/android ...

随机推荐

  1. ZOJ Problem Set - 1078 Palindrom Numbers

    属于水题,主要是涉及到回文问题. 这里标注下进制转换的方法: while(n) { p[i]=n%basis; n/=basis; } 见代码: #include <stdio.h> in ...

  2. ruby学习总结05

    1.数值类(Numeric) 有理数:Rational(分子,分母) 复数:Complex(实数,虚数) 随机数:Rnadom   rand()  返回比1小的浮点数,rand(种子数)  返回0到该 ...

  3. windows环境下nutch2&period;x 在eclipse中实现抓取数据存进mysql详细步骤

    nutch2.x 在eclipse中实现抓取数据存进mysql步骤 最近在研究nutch,花了几天时间,也遇到很多问题,最终结果还是成功了,在此记录,并给其他有兴趣的人提供参考,共同进步. 对nutc ...

  4. csdn如何转载别人的文章

    1.找到要转载的文章,用chrome浏览器打开,右键选择审查元素 2.在chrome中下方的框里找到对应的内容,html脚本中找到对应的节点,选中节点,网页上被选中内容会被高亮显示,然后右键菜单选中 ...

  5. WOW&period;js – 让页面滚动更有趣

    演示1 演示2-仿oppo首页 下载 简介 有的页面在向下滚动的时候,有些元素会产生细小的动画效果.虽然动画比较小,但却能吸引你的注意.比如刚刚发布的 iPhone 6 的页面(查看).如果你希望你的 ...

  6. TCP&sol;IP教程

    一.TCP/IP 简介 TCP/IP 是用于因特网的通信协议. 通信协议是对计算机必须遵守的规则的描述,只有遵守这些规则,计算机之间才能进行通信. 什么是 TCP/IP? TCP/IP 是供已连接因特 ...

  7. java代码示例(5)

    /** * 需求分析:从键盘输入5名学员某门课程的笔试成绩,并求出五门成绩的总成绩和平均成绩 * @author chenyanlong * 日期:2017/10/14 */ package com. ...

  8. bash shell中可以使用wait

    https://jingyan.baidu.com/article/b907e6278fbd8946e7891c17.html ==================================== ...

  9. 服务器上的 Git - 生成 SSH 公钥

    http://git-scm.com/book/zh/ch4-3.html 生成 SSH 公钥 如前所述,许多 Git 服务器都使用 SSH 公钥进行认证. 为了向 Git 服务器提供 SSH 公钥, ...

  10. Bootstrap学习笔记(9)--模态框(登录&sol;注册弹框)

    说明: 1. 上来一个ul先把登录和注册两个链接扔进去,ul的类nav,navbar-nav是导航条,navbar-right让他固定在右侧.每个li的里面,data-toggle="mod ...