Android官方入门文档[8]重叠操作栏

简介: Android官方入门文档[8]重叠操作栏 Overlaying the Action Bar重叠操作栏 This lesson teaches you to1.

Android官方入门文档[8]重叠操作栏

 

Overlaying the Action Bar
重叠操作栏

 

This lesson teaches you to
1.Enable Overlay Mode

 1.For Android 3.0 and higher only
 2.For Android 2.1 and higher

2.Specify Layout Top-margin

You should also read
•Styles and Themes


这节课教你
1.启用重叠模式

  1.对Android的3.0和更高版本
  2.对于安卓2.1及以上

2.指定布局顶边距

你也应该阅读
•样式和主题


By default, the action bar appears at the top of your activity window, slightly reducing the amount of space available for the rest of your activity's layout. If, during the course of user interaction, you want to hide and show the action bar, you can do so by calling hide() and show() on the ActionBar. However, this causes your activity to recompute and redraw the layout based on its new size.
默认情况下,操作栏会出现在你的活动窗口的顶部,略有减少了可用空间为您的活动布局的其余部分的金额。如果,用户交互的过程中,你要隐藏和显示操作栏,您可以通过调用hide()和show()在动作栏来做。但是,这会导致你的活动重新计算和重绘基于新的大小布局。
 
Figure 1. Gallery's action bar in overlay mode.
图1.重叠模式中Gallery画廊的操作栏。

To avoid resizing your layout when the action bar hides and shows, you can enable overlay mode for the action bar. When in overlay mode, your activity layout uses all the space available as if the action bar is not there and the system draws the action bar in front of your layout. This obscures some of the layout at the top, but now when the action bar hides or appears, the system does not need to resize your layout and the transition is seamless.
为了避免调整您的布局时,操作栏隐藏和显示,您可以启用叠加模式的操作栏。当覆盖模式,你的活动布局使用所有可用的空间,如果操作栏是不存在的,系统的绘制操作栏的布局面前。这掩盖了一些布局的顶部,但现在当操作栏隐藏或显示,系统并不需要调整您的布局和过渡是无缝的。

Tip: If you want your layout to be partially visible behind the action bar, create a custom style for the action bar with a partially transparent background, such as the one shown in figure 1. For information about how to define the action bar background, read Styling the Action Bar.
提示:如果你希望你的布局是操作栏的后面部分可见,创建操作栏自定义样式与部分透明的背景,比如如图1所示。有关如何定义操作栏的背景资料之一,阅读样式化的操作栏。

 

Enable Overlay Mode
启用重叠模式


--------------------------------------------------------------------------------

To enable overlay mode for the action bar, you need to create a custom theme that extends an existing action bar theme and set the android:windowActionBarOverlay property to true.
要启用重叠模式操作栏中,你需要创建一个自定义主题,扩展现有的操作栏的主题,并设置是Android:为true windowActionBarOverlay属性。

 

For Android 3.0 and higher only
针对Android3.0和更高版本

 

If your minSdkVersion is set to 11 or higher, your custom theme should use Theme.Holo theme (or one of its descendants) as your parent theme. For example:
如果你的minSdkVersion设置为11或更高,你的自定义主题应该使用Theme.Holo主题(或它的子类)作为你的父母的主题。例如:

<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.Holo">
        <item name="android:windowActionBarOverlay">true</item>
    </style>
</resources>

 

For Android 2.1 and higher
针对Android2.1及更高

 

If your app is using the Support Library for compatibility on devices running versions lower than Android 3.0, your custom theme should use Theme.AppCompat theme (or one of its descendants) as your parent theme. For example:
如果您的应用程序使用的是支持库的兼容性上运行的版本,比Android3.0下的设备,你的自定义主题应该使用Theme.AppCompat主题(或它的子类)作为你的父主题。例如:

<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.AppCompat">
        <item name="android:windowActionBarOverlay">true</item>

        <!-- Support library compatibility -->
        <item name="windowActionBarOverlay">true</item>
    </style>
</resources>

Also notice that this theme includes two definitions for the windowActionBarOverlay style: one with the android: prefix and one without. The one with the android: prefix is for versions of Android that include the style in the platform and the one without the prefix is for older versions that read the style from the Support Library.
还要注意的是这个主题包含两个定义为windowActionBarOverlay样式化:一个是Android:前缀,一个没有。一个与Android:前缀是包含风格的平台和一个没有前缀是旧版本,上面写着从支持库风格的Android版本。

 

Specify Layout Top-margin
指定布局顶边距


--------------------------------------------------------------------------------

When the action bar is in overlay mode, it might obscure some of your layout that should remain visible. To ensure that such items remain below the action bar at all times, add either margin or padding to the top of the view(s) using the height specified by actionBarSize. For example:
当动作栏为叠加模式,它可能会掩盖一些你的布局应该保持可见。为了确保这些项目仍然低于操作栏在任何时候,无论是增加保证金或填充,以利用actionBarSize指定的高度view的顶部。例如:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="?android:attr/actionBarSize">
    ...
</RelativeLayout>

If you're using the Support Library for the action bar, you need to remove the android: prefix. For example:
如果您使用的是支持库的操作栏中,您需要删除的android:前缀。例如:

<!-- Support library compatibility -->
<RelativeLayout xmlns:android="
http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="?attr/actionBarSize">
    ...
</RelativeLayout>


In this case, the ?attr/actionBarSize value without the prefix works on all versions, including Android 3.0 and higher.
在这种情况下,如果没有前缀,?attr/actionBarSize值适用于所有的版本中,包括Android3.0和更高。

Next class: Supporting Different Devices
下一个课程:支持不同设备

本文翻译自:https://developer.android.com/training/basics/actionbar/overlaying.html

目录
相关文章
|
21天前
|
存储 前端开发 测试技术
Android kotlin MVVM 架构简单示例入门
Android kotlin MVVM 架构简单示例入门
26 1
|
17天前
|
XML IDE Java
安卓应用开发入门:从零开始的旅程
【10月更文挑战第23天】本文将带领读者开启一段安卓应用开发的奇妙之旅。我们将从最基础的概念讲起,逐步深入到开发实践,最后通过一个简易的代码示例,展示如何将理论知识转化为实际的应用。无论你是编程新手,还是希望扩展技能的软件工程师,这篇文章都将为你提供有价值的指导和启发。
25 0
|
1月前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
74 7
|
2月前
|
Android开发 开发者
安卓开发中的自定义视图:从入门到精通
【9月更文挑战第19天】在安卓开发的广阔天地中,自定义视图是一块充满魔力的土地。它不仅仅是代码的堆砌,更是艺术与科技的完美结合。通过掌握自定义视图,开发者能够打破常规,创造出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战应用,一步步展示如何用代码绘出心中的蓝图。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往创意和效率的大门。让我们一起探索自定义视图的秘密,将你的应用打造成一件艺术品吧!
60 10
|
1月前
|
Web App开发 编解码 视频直播
视频直播技术干货(十二):从入门到放弃,快速学习Android端直播技术
本文详细介绍了Android端直播技术的全貌,涵盖了从实时音视频采集、编码、传输到解码与播放的各个环节。文章还探讨了直播中音视频同步、编解码器选择、传输协议以及直播延迟优化等关键问题。希望本文能为你提供有关Andriod端直播技术的深入理解和实践指导。
41 0
|
2月前
|
IDE Java 程序员
安卓应用开发入门:打造你的第一个“Hello World”
【9月更文挑战第11天】在编程的世界里,每一个初学者的旅程都从一个简单的“Hello World”开始。本文将带领安卓开发的新手们,通过简单直观的方式,一步步构建出自己的第一个安卓应用。我们将探索安卓工作室(Android Studio)的安装、项目的创建,以及如何运行和调试你的应用。无论你是编程新手还是想扩展技能的老手,这篇文章都将为你打开一扇通往安卓世界的大门。
169 7
|
2月前
|
IDE Java API
安卓应用开发入门:打造你的第一个"Hello World"
【9月更文挑战第11天】在探索安卓开发的海洋中,每个开发者的航行都从简单的"Hello World"开始。本文将作为你的航标,引导你驶向安卓应用开发的精彩世界。我们将一起启航,通过浅显易懂的语言和步骤,学习如何构建并运行你的第一个安卓应用。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供所需的知识和信心。准备好了吗?让我们揭开安卓开发的神秘面纱,一起创造些令人兴奋的东西吧!
|
3月前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
263 0
|
3月前
|
XML IDE Java
安卓应用开发入门:打造你的第一个“Hello World”
【8月更文挑战第31天】 在安卓的浩瀚宇宙中,每一个新星都从一句简单的问候开始闪耀。本文将作为你的航标,引导你探索安卓开发的银河系。无论你是初心者还是资深开发者,构建第一个“Hello World”应用总是令人兴奋的里程碑。通过这篇文章,我们将一起搭建起通往安卓开发世界的桥梁。让我们摒弃复杂的术语,用最简单直白的语言,一步步地走过这段旅程。准备好了吗?让我们一起开启这段冒险吧!
|
3月前
|
搜索推荐 Java Android开发
打造个性化安卓启动器:从入门到精通
【8月更文挑战第31天】在这个数字时代,智能手机几乎成了我们生活的延伸。而作为最流行的操作系统之一,安卓的可定制性让它在众多用户中独树一帜。本文将带你了解如何从零开始构建你自己的安卓启动器,这不仅是一项挑战技能的项目,更是一次让你的设备与众不同的机会。我们将一步步探索创建启动器的过程,包括设计思路、关键代码实现以及最终的测试与优化。无论你是编程新手还是有一定基础的开发者,都能通过这个项目提升技术水平,并给你的日常使用带来便利。准备好了吗?让我们一起潜入安卓开发的海洋,打造专属于你的个性化世界!