gpt4 book ai didi

android - 如何防止导航栏留下黑条? (沉浸式模式)

转载 作者:太空狗 更新时间:2023-10-29 12:39:16 25 4
gpt4 key购买 nike

使用沉浸式模式的应用在等待一段时间( Activity 被销毁)后返回时,会在屏幕底部留下一个黑条。

发生了什么:(我启用了开发者选项:“不保留 Activity ”来重现此问题)。

  1. 首次启动该应用程序。沉浸式模式按预期工作。

  2. 向上滑动以显示“沉浸式粘性”导航栏,然后使用“主页”按钮离开应用。在应用关闭之前,导航栏的背景会短暂显示黑色背景。

  3. 使用“最近”按钮,然后选择要恢复的应用。

  4. 应用程序打开后会在黑色栏上短暂显示导航栏。系统 ui 崩溃为沉浸式模式,但黑条仍然存在。 systemuiblackbar

这个错误也只出现在 Lollipop 上,而不出现在 KitKat 上。

我已将应用剥离为仅启动虚拟 Activity,除了设置系统 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);
}
}
}

编辑:在创建一个只有这个 Activity 的新项目后,我看到这个问题在使用扩展“android:Theme.Holo”的应用程序主题时重现......,并在我扩展 Material 主题时解决了这个示例项目中的问题:

改变

<style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar.Fullscreen">
</style>

<style name="AppTheme"parent="android:Theme.Material.Light.NoActionBar.Fullscreen">
</style>

不幸的是,这个修复并没有解决我的主要项目中的问题,但它让我更接近解决方案,并且可能会帮助其他人解决同样的问题。

最佳答案

我遇到了同样的问题。这是我所做的一些更新,使它消失了。希望其中一个适合您!

activity_main.xml

android:fitsSystemWindows="false"

样式-v21

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowSharedElementsUseOverlay">false</item>

主 Activity .java

getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_FULLSCREEN
);

关于android - 如何防止导航栏留下黑条? (沉浸式模式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28703306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com