我在ConstraintLayout
内部有一个非常复杂的NestedScrollView
。我必须设置margin
72dp才能看到底部的按钮。我尚未进行测试,但是我认为在没有NavigationBar
或Xiaomi
之类的Meizu
的设备上,在该屏幕底部我会发现72dp的巨大差距。
有趣的事实,但是如果我将行为从appbar_scrolling_view_behavior
更改为bottom_sheet_behavior
,则边距按预期显示,我可以看到很大的差距,但是滚动行为肯定是出乎意料的,所以我不能这种方法。这是我的一些代码:
我的主题:
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/grapefruit</item>
<item name="colorControlActivated">@color/grapefruit</item>
<item name="colorControlNormal">@color/lightgrey</item>
<item name="android:overScrollMode">never</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:buttonStyle">@style/SalmonButtonStyle</item>
<item name="android:spinnerStyle">@style/SpinnerStyle</item>
和布局:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/bodyBg">
<android.support.design.widget.AppBarLayout
android:id="@+id/main.appbar"
android:layout_width="match_parent"
android:layout_height="270dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/main.collapsing"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/main.backdrop"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
android:src="@drawable/image_closing_club"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/main.toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:behavior_overlapTop="30dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
...Here is constraint layout with a big number of views
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
那么我怎么能看到NestedScrollView
上方NavigationBar
的适当底部?
实际:
预期:
我什至可以在预览中看到我的主容器在NavigationBar
后面
编辑,看来此问题仅在API 28中出现