项目中的一个场景UI要求使用白底黑字,并且白底要与大背景的颜色保持一致。需求很简单,可能我们的第一反应就是沉浸式或全屏模式,但这个场景中的某些操作又使得不能使用沉浸式或全屏模式。所以,我们必须用其他方式来实现白底黑字,且白底的颜色要与大背景的颜色保持一致。
实现的方法也比较简单,具体如下:
第一步先实现白底黑字:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
嗯,简单吧。
但,问题来了:白底的颜色并不与大背景的颜色一致,所以,我们还要修改状态栏的底色。这个底色的值可以由UI/UE给,也可以自己吸取,吸取方式可参考这篇文章:https://blog.csdn.net/u010356768/article/details/77905694
有了颜色值之后,我们再增加一行代码就搞定了:
getWindow().setStatusBarColor(getColor(R.color.status_bar_color));
OK,就是这么简单,满足需求了。
-------仅此记录点点滴滴,以备查阅!