fitsSystemWindows被ConstraintLayout忽略

时间:2018-03-08 15:37:16

标签: android android-support-library android-constraintlayout android-statusbar

我正在尝试在我的应用中显示制作活动状态栏完全透明的活动。我把它添加到我的风格中:

<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"对齐。

enter image description here

2 个答案:

答案 0 :(得分:3)

我通过在我的活动中添加以下代码来修复它:

Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

答案 1 :(得分:1)

由于我想在状态栏后面显示布局,但仍保持导航栏不变,所以这对我有用:

<item name="android:statusBarColor">@android:color/transparent</item>添加到我的活动主题

由于ConstraintLayout似乎不尊重fitsSystemWindows,因此请将其包装在CoordinatorLayout中。

android:fitsSystemWindows="true"添加到我的CoordinatorLayout中。 添加到我的ConstraintLayout

android:fitsSystemWindows="true"
android:clipToPadding="false"
android:clipChildren="false"