Android 版本 < 23 中的状态栏图标和文本色调

Rus*_*nov 6 android

Android 中状态栏的默认色调是白色的(所以状态栏会变暗有点奇怪): 在此处输入图片说明 我发现我可以在大于或等于 23 的 Android 版本中更改色调。但后来我发现我的设备(Android 5.1,API 22)上的几个应用程序使用黑色色调。他们是怎么做到的?

更新: 这就是我的意思:其他一些应用程序有浅色状态栏和黑色图标、时间标签等。

在此处输入图片说明

这是我的带有白色状态栏的 App 示例:

在此处输入图片说明

我无法设置windowLightStatusBar为 true 使其看起来像 API < 23 的设备中第一张图片中的应用程序。

小智 -2

您可以使用此方法在 kitkat 和棒棒糖及以上设备中为状态栏提供您自己的颜色

public void translucentStatusBar() {

            if(Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
                getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
                        WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
                getWindow().setStatusBarColor(Color.TRANSPARENT);
            }

            View view = findViewById(R.id.vFakeStatusBar);
            view.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
                    (int) getResources().getDimension(R.dimen.default_status_bar_height)));
        }
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段视图中,状态栏的高度为 24dp(默认)。