compile 'com.android.support:design:24.0.0' //可修改版本号为自己匹配

AppBarLayout是纵向的Lineralayout, 子view 需要设置参数 app:layout_scrollFlags

  • scroll(SCROLL_FLAG_SCROLL) 只要子view需要响应滚动就需要设置这个

  • snap(SCROLL_FLAG_SNAP) 在滚动结束后,如果view只是部分可见,它将滑动到最近的边界。比如,如果view的底部只有25%可见,它将滚动离开屏幕,而如果底部有75%可见,它将滚动到完全显示。

  • exitUntilCollapsed(SCROLL_FLAG_EXIT_UNTIL_COLLAPSED) 退出时,子view会折叠,折叠后的高度变为子view设置的min_height

  • enterAlways(SCROLL_FLAG_ENTER_ALWAYS)让任意向下的滚动都会导致该View变为可见,启用快速“返回模式”

  • enterAlwaysCollapsed(SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED)当你的视图已经设置minHeight属性又使用此标志时,你的视图只能已最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。

AppBarLayout 需要放置在 CoordinatorLayout 里。

特别注意:所有使用scroll flag的View都必须定义在没有使用scroll flag的View前面,这样才能确保所有的View从顶部退出,留下固定的元素。

示例

<?xml version="1.0" encoding="utf-8"?>
<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:fitsSystemWindows="true">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:title="隐藏标题栏Demo"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <com.baiwanlu.android.webview.FWebView
            android:id="@+id/webview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

    </android.support.v4.widget.NestedScrollView>

</android.support.design.widget.CoordinatorLayout>

标签: none

评论已关闭