fitsSystemWindows 被 ConstraintLayout 忽略
fitsSystemWindows ignored by ConstraintLayout
我试图在我的应用程序中显示一个 activity,其中状态栏是完全透明的。我将此添加到我的风格中:
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
但由于某种原因,我的所有视图都显示在状态栏下方。所有视图都与父视图顶部对齐 app:layout_constraintTop_toTopOf="parent"
。
我通过将以下代码添加到我的 activity 来修复它:
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
因为我想在状态栏后面显示我的布局但仍然保持导航栏不变,这对我有用:
将 <item name="android:statusBarColor">@android:color/transparent</item>
添加到我的 activity 主题
因为ConstraintLayout
似乎不尊重fitsSystemWindows
,所以把它包在CoordinatorLayout
.
将 android:fitsSystemWindows="true"
添加到我的 CoordinatorLayout
。
添加到我的 ConstraintLayout
android:fitsSystemWindows="true"
android:clipToPadding="false"
android:clipChildren="false"
我试图在我的应用程序中显示一个 activity,其中状态栏是完全透明的。我将此添加到我的风格中:
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
但由于某种原因,我的所有视图都显示在状态栏下方。所有视图都与父视图顶部对齐 app:layout_constraintTop_toTopOf="parent"
。
我通过将以下代码添加到我的 activity 来修复它:
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
因为我想在状态栏后面显示我的布局但仍然保持导航栏不变,这对我有用:
将 <item name="android:statusBarColor">@android:color/transparent</item>
添加到我的 activity 主题
因为ConstraintLayout
似乎不尊重fitsSystemWindows
,所以把它包在CoordinatorLayout
.
将 android:fitsSystemWindows="true"
添加到我的 CoordinatorLayout
。
添加到我的 ConstraintLayout
android:fitsSystemWindows="true"
android:clipToPadding="false"
android:clipChildren="false"