Android官方开发文档Training系列课程中文版:管理系统UI之变暗系统条
2016-07-22 08:37
615 查看
原文地址:http://android.xsoftlab.net/training/system-ui/index.html
如果你对Android Design Guide很熟悉,那么应该知道将APP设计为符合标准的Android UI是很重要的一点。在修改System Bars之前,你应当仔细考虑用户所需要的及所期望的,因为这会给用户一种标准的方法来操作设备及查看设备的状态(PS:说白了就是可以很快的上手)。
这节课将会讨论如何在不同的Android版本中变暗或隐藏System Bars来创造身临其境的用户体验,并且保留快速访问System Bars的方法。
当你使用这项方法时,内容区域并不会重新调整尺寸,但是System Bars上图标在视觉上确实是收回去了。无论用户是点击了状态条区域还是导航条区域,这两个条都会完全显示出来。这种方法的优势在于Bar还在,但是它们的详细信息都被模糊了,因此利用Bar可以很轻松的创建一个没有任何代价损失的身临其境的体验。
在用户触碰到状态导航条时,这个标志会被清除,这会使状态导航条变亮。一旦这个标志被清除,如果你想再次使导航条变暗的话,还需要重新设置这个标志。
下图展示了导航条变暗后的展示效果(注意这里只是将状态条隐藏了,并不是使它变暗了)。注意导航条(图像的右边)在这里呈浅白色的点:
下图展示了相同的图像,只是系统条这时完全被展示了出来:
引言
系统条(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);
相关文章推荐
- 秒懂设计模式(一): Builder模式
- 通讯录之手动型Segue和自动型Segue
- [leetcode] 375. Guess Number Higher or Lower II 解题报告
- Expression Tree Build
- LeetCode 376. Wiggle Subsequence(摇摆子序列)
- [leetcode] 376. Wiggle Subsequence 解题报告
- 解决SurfaceView调用setZOrderOnTop(true)遮挡其他控件的问题
- LeetCode 232. Implement Queue using Stacks
- LeetCode 62. Unique Paths
- LeetCode 225. Implement Stack using Queues
- Android适配——采用Values-dpi-wSize X hSize 模式,并分析原理
- LeetCode 303. Range Sum Query – Immutable
- LeetCode 347. Top K Frequent Elements
- LeetCode 63. Unique Paths II
- iOS 分类之UIColor+Hex
- LeetCode 96. Unique Binary Search Trees
- LeetCode 300. Longest Increasing Subsequence
- LeetCode 304. Range Sum Query 2D – Immutable
- UITableView修改索引的方法
- ionic生成apk使用build命令下载gradle-2.2.1-all.zip卡,解决方案