相关疑难解决方法(0)

以编程方式安装Android M Light and Dark状态栏 - 如何让它再次变黑?

在Android M中,我们可以使状态栏图标变暗.为此,我们可以在主题的xml中指定属性:

<item name="android:windowLightStatusBar">true</item>
Run Code Online (Sandbox Code Playgroud)

或者我们使用以下代码在运行时设置它:

View someView = findViewById(R.id.some_view);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    someView.setSystemUiVisibility(someView.getSystemUiVisibility() | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
}
Run Code Online (Sandbox Code Playgroud)

它实际上工作正常.但问题是如何在运行时将状态栏模式正确设置为黑暗?

我已经尝试过那些变种:

// Makes status bar mode dark, but also hides it along with all navigation views. 
someView.setSystemUiVisibility(someView.getSystemUiVisibility() | ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

// Does nothing 
someView.setSystemUiVisibility(someView.getSystemUiVisibility() & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

// Also does nothing 
someView.setSystemUiVisibility(someView.getSystemUiVisibility() ^ View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
Run Code Online (Sandbox Code Playgroud)

那么如何才能以正确的方式完成?

user-interface android android-statusbar android-6.0-marshmallow

28
推荐指数
7
解决办法
3万
查看次数