【发布时间】:2016-05-25 15:55:34
【问题描述】:
我只能找到在应用程序运行时让状态栏改变颜色的解决方案。我已经成功地做到了,但是当应用程序进入后台时(比如用户点击主页按钮时),我需要它保持新颜色。类似于当您呼叫某人并点击主页按钮时状态栏的颜色变化。
在我的 OnCreate 方法中,我有:
Window window = this.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
SystemBarTintManager tintManager = new SystemBarTintManager(this);
tintManager.setStatusBarTintEnabled(true);
tintManager.setStatusBarTintColor(Color.GREEN);
tintManager.setStatusBarTintEnabled(true);
所以我发现的解决方案很大程度上取决于打开的应用程序。当用户点击主页按钮时,状态栏的颜色会随着应用的其余部分“缩小”。
【问题讨论】:
-
我的理解是你想改变状态栏的颜色,当你的应用程序进入后台时,你应该有新的状态栏改变颜色
-
如果我错了请纠正我
-
我认为你是对的。通常状态栏是黑色或透明的,但我需要在我的应用程序处于后台时将其设置为红色
-
您可以检测到您的应用何时进入后台,然后您遇到了问题??
-
当用户使用 onPause() 方法将应用程序置于后台时,我可以轻松地执行我拥有的代码。但是我发现的所有更改状态栏颜色的方法都涉及更改窗口中的颜色,当应用程序发送到后台时,它会随着应用程序“缩小”,从而在应用程序不在前台时离开常规状态栏。当我使用 onPause() 时,它只会改变颜色一秒钟,然后缩小应用程序,包括我的新颜色条,留下正常的状态栏
标签: android background-process statusbar