快速实现沉浸式状态栏

沉浸式状态栏是在Android4.4的时候加上去新设计,对比之前黑色的状态栏,这个设计还是很吸引用户的。今天就简单介绍下我在自己的项目中是如何使用沉浸式状态栏的。(其实很简单,网上还有其他的方法)。图中黄色框住的就是状态栏

快速实现沉浸式状态栏_第1张图片

                      图1

首先,我新建了一个BaseActivity.class类。这是一个基类,我的所有Activity都是继承了该类,这样的好处就是在修改Activity共有的属性时,我们只需要修改一个BaseActivity就好,不需要去修改每个Activity。

代码如下:

public class BaseActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//透明状态栏
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//透明导航栏
        }
        Log.d("BaseActivity",getClass().getSimpleName());//打印出类名
    }
}

注,如果发现你的view上偏了,在main_activity中加入这两个属性,状态栏就是我们Activity的背景色了(图2)

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

但要注意下面的这种情况:

快速实现沉浸式状态栏_第2张图片

                                                                                                             图2

对于此我查了下都说谷歌也没有提出好的解决方法。所以我在使用的时候并没有添加上面的两个属性。我的效果如图3

快速实现沉浸式状态栏_第3张图片

你可能感兴趣的:(Android学习中的笔记)