关于沉浸式状态栏的一些心得

Android 从 4.4(KitKat) 开始提供了一个视觉上的提升,让最上方的状态栏 (Status Bar) 以及最下方的导航栏 (Navigation Bar) 可以被透明化,并让 APP 的内容可以往上下延伸,使整个画面的可被利用度大幅提升。

在你的BaseActivity里使用这两段代码可以做到沉浸式状态栏效果

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) 
{
//使状态栏透明
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    //使导航栏透明getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}

特别注意
使导航栏透明时,一些底部透明的机型可能会出现下面的情况

底部有一部分内容在虚拟按键之下,如不需要去掉导航栏透明代码即可。

现在我在用的方法是新建一个values-v19文件夹,只要Android版本高于4.4便能够实现沉浸式状态栏,同样也要注意navigation的属性

    

还有一些什么蛋疼的事
布局里如果没有写这两段代码 app的内容就会和状态栏叠加在一起

android:clipToPadding="false"
android:fitsSystemWindows="true"

但是如果你写了
你的顶部布局就会扁掉
因为状态栏会占用你的布局(大概这么高25dp
怎么办呢?
布局写高一25dp不就得了?
但如果低版本的呢?App的标题栏就会显得巨高无比。

values-v19 又显示出她的作用了

 <dimen name="topbar_vertical_height">72dpdimen>

完美


你可能感兴趣的:(安卓)