Android 状态栏和虚拟导航栏颜色修改

代码参考自:这个大神

Android5.0以上实现:(两种方式)

实现方式一:

修改style文件夹中关于状态栏和导航栏的设置

在src-->main-->res文件夹下创建,values-v21目录,在其中创建styles文件夹,并在其中加入以下代码:

状态栏:

@color/colorStatusBarColor

虚拟导航栏:

@color/colorNavigationBarColor

实现方式二:

代码中进行设置(推荐)

在setConetntView(View);之前加入下面代码

//代码解释:如果编译版本的当前版本号大于等于Android5.0,则使用下面的方法

if(Build.VERSION.SDK__INT>=BUILD.VERSION_CODES.LOLLTPOP){

        getWindow().setStatusBar(getResource().getColor(R.color.statusbarcolor));

               getWindow().setNavigationBarColor(getResource().getColor(R.color.navigitionbarcolor));

}


Android4.4--5.0中实现(两种方式)

实现方式一:

修改style文件夹中关于状态栏和导航栏的设置

在src-->main-->res文件夹下创建,values-v19目录,在其中创建styles文件夹,并在其中加入以下代码:

true

true

实现方式二:

代码中进行设置(推荐)

在setConetntView(View);之前加入下面代码

//代码解释:如果当前版本大于等于4.4,并且当前版本小于5.0,证明是在4.4-5.0之间

if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.KITKAT&&Build.VERSION.SDK_I

 NT

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_

            STATUS);

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_

            NAVIGGATION);

}

在4.4到5.0之间可能会出现错位的情况:

解决方式:

1.在ToolBar设置fitsSystemWindows为true

2.在根布局设置fitsSystemWindows为true

3.动态获取ToolBar高度并设置ToolBar高度

你可能感兴趣的:(Android 状态栏和虚拟导航栏颜色修改)