使用沉浸式模式的应用程序经过一会儿(活动被破坏)后返回时,在屏幕底部留下一个黑条.
发生了什么:(我已启用开发人员选项:“不要保留活动”来重现此内容).
>首次启动该应用程序.沉浸模式可以正常工作.
>向上滑动以显示“沉浸式粘性”导航栏,然后使用“主页”按钮离开应用程序.导航栏的背景在应用程序关闭之前会短暂显示黑色背景.
>使用“最近”按钮,然后选择要恢复的应用.
>该应用程序将打开,以在黑色栏上短暂显示导航栏.系统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-如何防止导航栏离开黑栏? (沉浸模式)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)