Android官方开发文档Training系列课程中文版:管理系统UI之变暗系统条

原文地址:http://android.xsoftlab.net/training/system-ui/index.html

引言

系统条(System Bars)是屏幕上的一块显示区域,专门用来显示通知,设备的通讯状态以及设备的导向。典型的System Bars与APP同时显示在屏幕上。APP展示了具体的内容,比如电影或者照片,这时可以临时性的将System Bars的图标变暗,以便减少不必要的干扰,或者临时性的隐藏System Bars,以便进入一种身临其境的状态。

如果你对Android Design Guide很熟悉,那么应该知道将APP设计为符合标准的Android UI是很重要的一点。在修改System Bars之前,你应当仔细考虑用户所需要的及所期望的,因为这会给用户一种标准的方法来操作设备及查看设备的状态(PS:说白了就是可以很快的上手)。

这节课将会讨论如何在不同的Android版本中变暗或隐藏System Bars来创造身临其境的用户体验,并且保留快速访问System Bars的方法。

使System Bars变暗

这节课将会描述如何使Android 4.0以上的系统的System Bars变暗。Android对早期的版本并没有提供可以使System Bars变暗的方法。

当你使用这项方法时,内容区域并不会重新调整尺寸,但是System Bars上图标在视觉上确实是收回去了。无论用户是点击了状态条区域还是导航条区域,这两个条都会完全显示出来。这种方法的优势在于Bar还在,但是它们的详细信息都被模糊了,因此利用Bar可以很轻松的创建一个没有任何代价损失的身临其境的体验。

使状态导航条变暗

你可以在Android 4.0及以上的版本中通过SYSTEM_UI_FLAG_LOW_PROFILE标志来使状态条及通知条变暗:

// This example uses decor view, but you can use any visible view.
View decorView = getActivity().getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_LOW_PROFILE;
decorView.setSystemUiVisibility(uiOptions);

在用户触碰到状态导航条时,这个标志会被清除,这会使状态导航条变亮。一旦这个标志被清除,如果你想再次使导航条变暗的话,还需要重新设置这个标志。

下图展示了导航条变暗后的展示效果(注意这里只是将状态条隐藏了,并不是使它变暗了)。注意导航条(图像的右边)在这里呈浅白色的点:

下图展示了相同的图像,只是系统条这时完全被展示了出来:

使状态导航条变亮

如果你想清除这个标志,你可以这么做:

View decorView = getActivity().getWindow().getDecorView();
// Calling setSystemUiVisibility() with a value of 0 clears
// all flags.
decorView.setSystemUiVisibility(0);
时间: 2024-12-28 11:27:17

Android官方开发文档Training系列课程中文版:管理系统UI之变暗系统条的相关文章

Android官方开发文档Training系列课程中文版:目录

原文地址 : http://android.xsoftlab.net/training/index.html 引言 在翻译了一篇安卓的官方文档之后,我觉得应该做一件事情,就是把安卓的整篇训练课程全部翻译成英文,供国内的开发者使用,尤其是入门开发者,虽然现在网络上有很多入门课程,但是还是依靠官方文档学习来的靠谱,安卓官方文档是一系列的课程,使每个人可以系统的掌握安卓的知识,相比其它课程来说,它为开发者提供了查缺补漏的功能. 在这里你可以领略到安卓开发世界的精彩. Tips : 同时,本目录可以作为

Android官方开发文档Training系列课程中文版:OpenGL绘图之图形绘制

原文地址:http://android.xsoftlab.net/training/graphics/opengl/draw.html 如果你还不清楚如何定义图形及坐标系统,请移步:Android官方开发文档Training系列课程中文版:OpenGL绘图之图形定义. 在定义了图形之后,你接下来需要做的就是将它绘制到屏幕上.不过使用OpenGL ES 2.0 API来绘制这个图形所需要的代码量可能要比想象中的多一些,这是因为API为图形渲染管道提供了大量的控制细节. 这节课会展示如何绘制上节课所

Android官方开发文档Training系列课程中文版:Android的安全建议

原文地址:http://android.xsoftlab.net/training/articles/security-tips.html Android系统内置的安全策略可以有效的降低应用程序的安全问题.所以默认创建的应用程序已经包含了一定程度的安全保护措施. Android所包含的安全策略有: 应用程序沙箱,它可以使APP的数据.代码与其它APP相互隔离. 应用程序框架对于常见防护措施的强大实现,比如密码.权限以及安全的IPC机制. 一些安全技术的应用,比如ASLR, NX, ProPoli

Android官方开发文档Training系列课程中文版:管理系统UI之隐藏状态条

原文地址:http://android.xsoftlab.net/training/system-ui/status.html 这节课将会介绍如何隐藏不同的版本的状态条.隐藏状态条可以使内容展示区域更大,因此可以提供一种更强的身临其境的用户体验. 含有状态条的APP: 隐藏状态条的APP,注意这里的ActionBar同样也隐藏了.绝不要在没有状态条的时候还显示ActionBar: 在Android 4.0以下的版本中隐藏状态条 开发者可以通过设置WindowManager的标志来隐藏Androi

Android官方开发文档Training系列课程中文版:高效显示位图之位图缓存

原文地址:http://android.xsoftlab.net/training/displaying-bitmaps/cache-bitmap.html 往UI界面中加载单张图片的过程是很简单的,然而如果需要在某个时刻同时加载大量的图片,那么这事情就有些复杂了.在很多情况下,比如使用了ListView.GridView或者是ViewPager来展示一定数量的图片,在本质上这些情况下,屏幕的快速滑动会导致大量的图片被集中展示在屏幕上. 类似这样通过回收移除到屏幕之外的子View的组件会抑制内存

Android官方开发文档Training系列课程中文版:通知用户之构建通知

原文地址:http://android.xsoftlab.net/training/notify-user/index.html 引言 通知用于在有事件发生时,将事情以更便捷的方式展示给用户.用户可以在他们方便的时候直接与通知交互. Notifications design guide课程讲述了如何设计有效的通知以及何时去使用它们.这节课将会学习如何实现通用的通知设计. 构建通知 这节课的实现主要基于NotificationCompat.Builder类,NotificationCompat.B

Android官方开发文档Training系列课程中文版:手势处理之多点触控处理

原文地址:http://android.xsoftlab.net/training/gestures/multi.html 多点触控是指多个手指同时触摸屏幕的情况.这节课主要学习如何检测多点触控手势. 记录多个触控点 当多根手指同时触碰到屏幕时,系统会产生以下触摸事件: ACTION_DOWN -第一个触碰到屏幕的点.它是手势的起始事件.这个触控点的指针数据在MotionEvent对象中的索引总是0. ACTION_POINTER_DOWN -除第一个触控点之外的其它点.这个触控点的指针数据的索

Android官方开发文档Training系列课程中文版:网络操作之网络连接

原文地址:http://android.xsoftlab.net/training/basics/network-ops/index.html 引言 这节课将会学习最基本的网络连接,监视网络连接状况及网络控制等内容.除此之外还会附带描述如何解析.使用XML数据. 这节课所包含的示例代码演示了最基本的网络操作过程.开发者可以将这部分的代码作为应用程序最基本的网络操作代码. 通过这节课的学习,将会学到最基本的网络下载及数据解析的相关知识. Note: 可以查看课程Transmitting Netwo

Android官方开发文档Training系列课程中文版:网络操作之XML解析

原文地址:http://android.xsoftlab.net/training/basics/network-ops/xml.html 扩展标记语言(XML)是一系列有序编码的文档.它是一种很受欢迎的互联网数据传输格式.像需要频繁更新内容的网站来说,比如新闻站点或者博客,需要经常更新它们的XML源,以使外部程序可以保持内容的同步变化.对于含有网络连接态的APP应用来说,上传及解析XML数据是一个通用的任务.这节课将会学习如何解析XML文档及如何使用XML中的数据. 选择解析器 我们推荐使用X