协调器布局行为不起作用

时间:2018-04-11 09:17:37

标签: java android xml android-layout android-coordinatorlayout

我想在向上滚动Webview时隐藏工具栏,并在向下滚动webview时显示。为了实现这个行为我找到了一个叫做协调器布局的东西但遗憾的是它不适合我。 我的xml看起来如何?

<CoordinatorLayout
    -------

    <AppBarLayout
       -------
        <Toolbar
           -----
            app:layout_scrollFlags="scroll|enterAlways"
           ------
            />
    </AppBarLayout>

    <SwipeRefreshLayout
       -------------
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <WebView
            android:id="@+id/globalWebView"
            ---------------------------
            ---------------------------/>
    </SwipeRefreshLayout>

</CoordinatorLayout>

实际上,当我发现它不起作用时,我尝试了其他方式

<CoordinatorLayout>

    <AppBarLayout>
        <Toolbar....
            app:layout_scrollFlags="scroll|enterAlways"/>
    </AppBarLayout>
        <WebView...
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</CoordinatorLayout>

但它对我不起作用。是否有任何解决方案使其工作? TIA。

1 个答案:

答案 0 :(得分:1)

将您的webView包裹到下面的NestedScrollView ..

<CoordinatorLayout
    ....>
    <AppBarLayout>
        <Toolbar....
            app:layout_scrollFlags="scroll|enterAlways"/>
    </AppBarLayout>
    <NestedScrollView
        ....
        ...
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
        <WebView....
            ... />
    </NestedScrollView>
</CoordinatorLayout>

此外,您可以根据需要使用nestedScrollingEnabled(boolean) NestedScrollView