android – 没有布局显示在状态栏下方的半透明导航

android – 没有布局显示在状态栏下方的半透明导航,第1张

概述我正在使用新的 Android 4.4 FLAG_TRANSLUCENT_NAVIGATION标志来打开屏幕底部半透明的导航栏(背面,主页按钮等).这工作正常,但副作用是我的Activity的布局现在显示在屏幕顶部的状态栏下方(即使我没有将状态栏设置为半透明).我想避免一个hacky修复I.e.将填充应用于布局的顶部. 有没有办法将导航设置为半透明,同时确保状态栏正常显示并且不允许在其下方显示布局 我正在使用新的 Android 4.4 FLAG_TRANSLUCENT_NAVIGATION标志来打开屏幕底部半透明的导航栏(背面,主页按钮等).这工作正常,但副作用是我的Activity的布局现在显示在屏幕顶部的状态栏下方(即使我没有将状态栏设置为半透明).我想避免一个Hacky修复I.e.将填充应用于布局的顶部.

有没有办法将导航设置为半透明,同时确保状态栏正常显示并且不允许在其下方显示布局?

我使用的代码如下:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {    Window w = getwindow();    w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION,WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);}

谢谢

解决方法 ianhanniballake的答案确实有效,但你不应该在顶层视图上使用androID:fitsSystemwindows =“true”.使用此属性如下:

<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical"    androID:background="@color/colorPrimaryDark">    <linearLayout        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:orIEntation="vertical"        androID:background="#ffffff"        androID:fitsSystemwindows="true">        <!-- Your other vIEws -->    </linearLayout></linearLayout>

如您所见,您必须在顶级视图上设置颜色,并将该属性放在另一个容器上.

总结

以上是内存溢出为你收集整理的android – 没有布局显示在状态栏下方的半透明导航全部内容,希望文章能够帮你解决android – 没有布局显示在状态栏下方的半透明导航所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1129979.html

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

发表评论

登录后才能评论

评论列表(0条)

保存