Android 工具栏折叠模式问题

Android Toolbar collapseMode issue

我有一个问题,使“带有标题文本的工具栏”在 CollapsingToolbarLayout 中向上滚动时不折叠。

我尝试了一些调整,使用 app:layout_collapseMode="none" 作为我的 android.support.[=44 中的属性=] 但它不起作用。可能是我的排版有问题

下面是我想要实现的目标。

但是当我滚动到顶部时,工具栏也折叠起来,tabBar 也滚动到里面,变成non-visible。下面是我现在拥有的。

这是我的布局代码

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">



        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|enterAlways">

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="250dp"
                app:layout_collapseMode="parallax"
                app:layout_collapseParallaxMultiplier="0.7">

                <ImageView
                    android:id="@+id/backdrop"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="centerCrop" />

                <View
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#20000000" />

            </FrameLayout>

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="none"
                >
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Application Title"
                    android:textColor="#fff"
                    android:textSize="18sp" />
            </android.support.v7.widget.Toolbar>




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



        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="scroll|enterAlways">

            <android.support.design.widget.TabLayout
                android:id="@+id/detail_tabs"
                android:layout_width="match_parent"
                android:layout_height="60dp"
                app:layout_collapseMode="pin"

                android:background="#00000000"
                app:tabSelectedTextColor="#3498db"
                app:tabTextColor="#000" />
            />

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

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

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#333"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>

依赖项

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile "com.android.support:appcompat-v7:22.2.1"
    compile "com.android.support:support-annotations:22.2.1"
    compile "com.android.support:design:22.2.1"
    compile 'com.android.support:recyclerview-v7:22.2.1'
    compile 'com.android.support:cardview-v7:22.2.1'

}

在您的工具栏中执行此操作:

app:layout_collapseMode="pin"

pin is used for pinning the layout to top when the collapsing toolbar layout scrolls

parallax is used for hiding the layout when collapsing toolbar scrolls to top

试试这个...

你必须使用 app:layout_scrollFlags="scroll|exitUntilCollapsed" 而不是 app:layout_scrollFlags="scroll|enterAlways"CollapsingToolbarLayout

里面

并在 工具栏

中使用 app:layout_collapseMode="pin"
<android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        app:contentScrim="?attr/colorPrimary" >

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="250dp"
            app:layout_collapseMode="parallax"
            app:layout_collapseParallaxMultiplier="0.7" >

            <ImageView
                android:id="@+id/backdrop"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:scaleType="centerCrop" />

            <View
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#20000000" />
        </FrameLayout>

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Application Title"
                android:textColor="#fff"
                android:textSize="18sp" />
        </android.support.v7.widget.Toolbar>

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