安卓沉浸式状态栏
2016-10-24 本文已影响198人
StevenCheuk
1 在res目录下创建value-21,创建styles文件

2 用如下代码定义apptheme

3 在布局所在的activity设置布局为全屏

4 之后将布局layout设置paddingtop,这里我设置的是25dp,也就是状态栏高度(注意,如果你的布局是复合型布局,那么要在你设置background的那个布局设置paddingtop,否则会出现状态栏空白的情况)

完成,在api19、21、23亲测有效
---------------------------补充分割线2016.11.24------------------------------------
在后面的开发发现,沉浸式状态和软键盘托起有冲突
1 可以在manifest中声明键盘模式
android:name=".xxx.xxxActivity"
android:windowSoftInputMode="adjustPan|stateHidden"android:screenOrientation="portrait"/>
2 在需要用到键盘的地方使用 AndroidBug5497Workaround.assistActivity(this,this);
AndroidBug5497Workaround在下面这个地址
http://www.jianshu.com/p/d71e18c7b077
参考:
http://www.jianshu.com/p/aca4fd6743b1
https://www.zhihu.com/question/31468556
http://www.jianshu.com/p/ab937c80ed6e
http://sanwen8.cn/p/2a8Olm6.html(补充)