管理状态栏和导航栏

系统栏(system bar)是用来显示通知、设备状态和导航的屏幕区域。一般来说,系统栏(system bar)包括状态栏(status bar)和导航栏(navigation bar),它们与应用程序同时显示在屏幕上。而相册、视频等沉浸式的应用可以淡化系统栏来创造一个更加专注的体验环境,甚至是完全隐藏系统栏。

下面来介绍如何在不同的版本中淡化和隐藏系统栏,营造一个沉浸式的用户体验,同时还可以快速操作系统栏。

注:本文参考Android Develop Training - Manager the System UI。

一、淡化系统栏(System Bar)

由于Android的早期版本没有提供API来淡化系统栏,下面只介绍如何在Android 4.0及更高的版本中淡化系统栏。

(1).淡化状态栏和导航栏
状态栏和导航栏在被淡化后,依旧会占据屏幕空间,只是其中的图标和操作按钮变成了灰白色的小圆点。
使用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);

一旦用户操作了状态栏和导航栏,这个标识就会被清除,使状态栏和导航栏重新显现。标识被清除后,如果需要再次淡化状态栏和导航栏,必须重新设定这个标识。


     

左图为默认状态,右图为淡化之后的状态。


(2).显示状态栏和导航栏
在状态栏和导航栏添加了SYSTEM_UI_FLAG_LOW_PROFILE标识被淡化后,如果需要再次显示出来,可以使用如下方法清除标识。
View decorView = getActivity().getWindow().getDecorView();
// Calling setSystemUiVisibility() with a value of 0 clears
// all flags.
decorView.setSystemUiVisibility(0);

二、隐藏状态栏(Status Bar)

隐藏状态栏可以让应用得到更多的展示空间,从而提供一个更加沉浸式的用户体验。下面介绍如何在不同的Android版本中隐藏状态栏。

左图为显示状态栏的效果,右图为状态栏隐藏后的显示效果。

     

(1).在4.0及以下版本中隐藏状态栏
上一篇: HandlerThread类的使用和分析
下一篇: 使用VerticalBannerView实现垂直轮播广告(仿淘宝头条)
ruancoder
博客等级 码龄10年 42粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值