我正在使用新的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”.使用此属性如下:
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/colorPrimaryDark">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#ffffff"
android:fitsSystemWindows="true">
如您所见,您必须在顶级视图上设置颜色,并将该属性放在另一个容器上.
标签:android,android-layout
来源: https://codeday.me/bug/20190612/1226921.html