使用沉浸式模式的应用程序在等待一段时间后应用程序返回(活动已被销毁)时,会在屏幕底部留下黑条。如何防止导航栏留下黑条? (沉浸式模式)
发生了什么:(我已经启用了开发者选项:“不要保留活动”来重现这一点)。
首次启动应用程序。沉浸模式按预期工作。
向上滑动以显示“沉浸式粘性”导航栏,并使用“主页”按钮离开应用程序。导航栏的背景在应用程序关闭前简要显示黑色背景。
使用“最近”按钮,然后选择要恢复的应用程序。
该应用程序打开后短暂显示黑色栏上的导航栏。系统ui陷入沉浸式模式,但黑色条仍然存在。
此错误也只出现在棒棒糖,不是奇巧。
我已经剥离回应用程序简单地设置从系统UI标志推出无功能的虚拟活动分开:
public class DummyActivity extends FragmentActivity {
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
setSystemUiVisibility();
}
}
public void setSystemUiVisibility() {
if (getWindow() != null && getWindow().getDecorView() != null) {
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
}
编辑: 仅与该活动创建一个新的新项目,我已经看到了这一点后,使用应用的主题延伸时的问题转载“机器人:Theme.Holo” ...,并固定在此示例项目的问题,当我延长材料主题,而不是:
变化
<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar.Fullscreen">
</style>
到
<style name="AppTheme"parent="android:Theme.Material.Light.NoActionBar.Fullscreen">
</style>
遗憾的是此修复程序没有解决问题,在我的主要项目,但它使我更接近解决方案,可以帮助其他有同样问题。
您是否尝试过运行Hierarchy Viewer以确定该条是什么? – robotoaster 2015-02-25 16:23:15