管理状态栏和导航栏

本文详细介绍了在Android系统中如何管理和隐藏状态栏、导航栏,以实现全屏效果,包括不同版本的兼容处理,以及监听UI可见状态的方法,旨在提升应用的沉浸式体验。
摘要由CSDN通过智能技术生成
1、将状态栏和导航栏变变暗
在Android 4.0(API 14)以及更高的版本中,提供了一些将状态栏和导航栏变暗的方法,低版本没有提供相应的方法。
代码如下:
// 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);


设置将状态栏和导航栏变暗之后,实际上还是能看到的,但是隐藏了一些细节,当点击状态栏或者导航栏的时候,这个flag就会被清除,你的app就需要重新设置这个flag
如果你想手动清除flag,你可以使用   setSystemUiVisibility() 来控制
View decorView = getActivity().getWindow().getDecorView();
// Calling setSystemUiVisibility() with a value of 0 clears
// all flags.
decorView.setSystemUiVisibility(0);


2、隐藏StatusBar
隐藏状态栏可以让app的内容使用更多的空间,可以给人一种更加沉浸式的用户体验
图一:有状态栏的

图二:没有状态栏的:
注意:当statusbar被隐藏的时候,action bar也会被隐藏
在Android 4.0及以下系统中隐藏status bar
在4.0(API 14)及以下的版本中,你可以通过设置WindowManager flags来隐藏状态栏。你可以通过代码或者配置manifest文件中的activity的主题来实现。如果你的状态栏需要一直隐藏,最好使用在清单文件中配置activity的主题方式,当然了,你也 可以通过代码的方式来覆盖配置的主题,例如:
<application
    ...
    android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" >
    ...
</application>


通过配置配置activity主题的优势有:
1、更易维护,更少出错
2、它会导致更加平滑的过渡,因为系统会在实例化主activity之前渲染UI
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值