透明栏颜色改变

来源:互联网 发布:大英帝国 知乎 编辑:程序博客网 时间:2024/04/28 15:35

我手机MX5升级了一下系统后发现我写的APP透明栏没有自动变色了,如下图:



后来我在网上找了一下发现大多都是这样写的

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

这样设置后会发现这个view都往上移了,状态栏覆盖到了最上层布局


网上的解决办法是在xml文件中添加

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

但是我的添加后仍然上移,有跟我一样情况出现的继续往下看!

于是我就直接修改代码,给状态栏设置了一个颜色

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {            //取消设置透明状态栏            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);            getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);            //设置状态栏颜色            getWindow().setStatusBarColor(getResources().getColor(R.color.textChecked));        }

xml文件不再需要添加属性,效果:



0 0
原创粉丝点击