管理系统UI之一:淡化System Bar(Dimming the System Bars)
2015-06-15 11:49
477 查看
这篇文章讨论如何在4.0以及以上版本中淡化android的system bar(status bar和navigation bar)。在4.0之前的版本没有这样的功能。
用此文的方法并不会重新分配Ui的大小,只是status bar和navigation bar的相关图标会被弱化,比如navigation bar的几个虚拟键会弱化成很细微的小点。一旦你再次点击 status bar和navigation bar 的所在区域,他们就会再次完全显现。这种方式的好处是status bar和navigation bar并没有消失,仍然在界面上,但是它们的细节变暗了、模糊了。
在4.0以上的版本,你可以使用
一旦用户这这个时候触摸了status bar和navigation bar 的所在区域, 系统便清除掉了
下面这张图演示了gallery中的一张图片在显示时, navigation bar被淡化的情景(注意status bar没有显示并不是淡化了,而是gallery应用直接隐藏了它),你可以看到右侧的 navigation bar 已经变成了三个透明度很低的灰白色的小圆点。
而这张图则是system bars 完全显示时候的样子。
上面提到了如果你在system bar变暗的时候触摸了相关区域,系统会自动清除
其实你还可以自己手动清除:
用此文的方法并不会重新分配Ui的大小,只是status bar和navigation bar的相关图标会被弱化,比如navigation bar的几个虚拟键会弱化成很细微的小点。一旦你再次点击 status bar和navigation bar 的所在区域,他们就会再次完全显现。这种方式的好处是status bar和navigation bar并没有消失,仍然在界面上,但是它们的细节变暗了、模糊了。
在4.0以上的版本,你可以使用
SYSTEM_UI_FLAG_LOW_PROFILE标志来使 status bar和navigation bar变暗。虽然下面是调用
decorView的
setSystemUiVisibility方法,但是你完全可以调用任何一个可见view的
setSystemUiVisibility方法,效果是一样的。
SYSTEM_UI_FLAG_LOW_PROFILE,status bar和navigation bar淡化效果将消失,如果你想再次淡化status bar和navigation bar,需要再次如上设置。
下面这张图演示了gallery中的一张图片在显示时, navigation bar被淡化的情景(注意status bar没有显示并不是淡化了,而是gallery应用直接隐藏了它),你可以看到右侧的 navigation bar 已经变成了三个透明度很低的灰白色的小圆点。
而这张图则是system bars 完全显示时候的样子。
上面提到了如果你在system bar变暗的时候触摸了相关区域,系统会自动清除
setSystemUiVisibility()设置的flag,
其实你还可以自己手动清除:
相关文章推荐
- Servlet--SingleThreadModel接口,RequestDispatcher接口
- [Algorithms] Longest Increasing Subsequence
- string -- value
- jsp 中 request.getHeader() 相关详细
- On-Demand Resources Guide中文版(按需加载资源--下)
- On-Demand Resources Guide中文版(按需加载资源--上)
- MIUI显示悬浮窗
- jqueyr proxy()
- DuiLib : 修改内嵌网页的安全选项
- sequioadb源码分析2
- VisualSVN错误 Cannot query proxy blanket解决办法
- 【黑马程序员】------java基础----String类、StringBuffer(StringBuilder)、基本数据类型包装类
- Qt Quick - 开启下一代交互动效原型设计
- jquer使用 $.parseJSON 使用方法
- MySQL 中 key, primary key ,unique key,index的区别
- GUILayout自动布局
- uCGUI 学习笔记
- UCGUI移植初级解析
- STM32学习——uCGUI移植
- NTP Server disallowed request (authentication?) 问题解决