android-如何防止导航栏离开黑栏? (沉浸模式)

android-如何防止导航栏离开黑栏? (沉浸模式),第1张

概述使用沉浸式模式的应用程序经过一会儿(活动被破坏)后返回时,在屏幕底部留下一个黑条.发生了什么:(我已启用开发人员选项:“不要保留活动”来重现此内容).>首次启动该应用程序.沉浸模式可以正常工作.>向上滑动以显示“沉浸式粘性”导航栏,然后使用“主页”按钮离开应用程序.导航栏的

使用沉浸式模式的应用程序经过一会儿(活动被破坏)后返回时,在屏幕底部留下一个黑条.

发生了什么:(我已启用开发人员选项:“不要保留活动”来重现此内容).

>首次启动该应用程序.沉浸模式可以正常工作.
>向上滑动以显示“沉浸式粘性”导航栏,然后使用“主页”按钮离开应用程序.导航栏的背景在应用程序关闭之前会短暂显示黑色背景.
>使用“最近”按钮,然后选择要恢复的应用.
>该应用程序将打开,以在黑色栏上短暂显示导航栏.系统ui崩溃为沉浸式模式,但黑色条仍然存在.

此错误也仅出现在棒棒糖上,而不是KitKat上.

我将应用程序简化为仅启动虚拟活动,除了设置系统UI标志以外,没有任何功能:

public class DummyActivity extends FragmentActivity {@OverrIDepublic 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);        }    }}

编辑:
在仅使用此活动创建一个新项目后,我看到使用扩展为“ 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>

MainActivity.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-如何防止导航栏离开黑栏? (沉浸模式)全部内容,希望文章能够帮你解决android-如何防止导航栏离开黑栏? (沉浸模式)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1079035.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存