Android NestedScrollView位于NavigationBar的后面

时间:2018-09-19 17:45:24

标签: android android-coordinatorlayout android-nestedscrollview

我在ConstraintLayout内部有一个非常复杂的NestedScrollView。我必须设置margin 72dp才能看到底部的按钮。我尚未进行测试,但是我认为在没有NavigationBarXiaomi之类的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的适当底部?

实际:

Actual Bottom of NestedScrollView

预期:

Expected Result

我什至可以在预览中看到我的主容器在NavigationBar后面

BluePrint

编辑,看来此问题仅在API 28中出现

0 个答案:

没有答案