Android 有人可以解释AppBarLayout和CollasingToolbarLayout的工作原理吗?

Android 有人可以解释AppBarLayout和CollasingToolbarLayout的工作原理吗?,android,android-design-library,android-collapsingtoolbarlayout,android-appbarlayout,Android,Android Design Library,Android Collapsingtoolbarlayout,Android Appbarlayout,我试图制作一些类似于发布的图像的东西,但是假设viewpager可以使用recyclerView滚动,标题是一个简单的线性/相对布局,这将是静态的,fab相同(不可滚动),但不起作用 我把我的布局贴在下面 首先,您已将相对应用程序和工具栏的app:layout\u collapseMode设置为pin,不会显示任何效果。滚动时,将任何视图的app:layout\u collapseMode设置为pin不会更改视图的高度。要在滚动时更改视图的高度,需要将app:layout\u collap

我试图制作一些类似于发布的图像的东西,但是假设viewpager可以使用recyclerView滚动,标题是一个简单的线性/相对布局,这将是静态的,fab相同(不可滚动),但不起作用

我把我的布局贴在下面



首先,您已将
相对应用程序和
工具栏的
app:layout\u collapseMode
设置为
pin
,不会显示任何效果。滚动时,将任何视图的
app:layout\u collapseMode
设置为pin不会更改视图的高度。要在滚动时更改视图的高度,需要将
app:layout\u collapseMode
设置为
parallax

其次,为
AppBarLayout
设置指定的高度。设置
WRAP\u内容将无法正常工作。您需要设置特定的尺寸,如180dp


第三,根据您的问题,您希望Viewpager可以使用
RecyclerView
滚动。您的代码没有按预期的方式工作。如果希望
ViewPager
可以通过
RecyclerView
滚动,则需要从xml代码中删除
RecyclerView
,并将其添加到单独的xml代码文件中。然后您需要创建一个或两个
片段
(根据需要),在
ViewPager
中添加
片段
,并在其中实例化
RecyclerView
。此
片段还将负责在
回收视图中膨胀数据

首先,您已将
应用程序:layout\u collapseMode
设置为
pin
,这两个
相对性应用程序和
工具栏都不会显示任何效果。滚动时,将任何视图的
app:layout\u collapseMode
设置为pin不会更改视图的高度。要在滚动时更改视图的高度,需要将
app:layout\u collapseMode
设置为
parallax

其次,为
AppBarLayout
设置指定的高度。设置
WRAP\u内容将无法正常工作。您需要设置特定的尺寸,如180dp


第三,根据您的问题,您希望Viewpager可以使用
RecyclerView
滚动。您的代码没有按预期的方式工作。如果希望
ViewPager
可以通过
RecyclerView
滚动,则需要从xml代码中删除
RecyclerView
,并将其添加到单独的xml代码文件中。然后您需要创建一个或两个
片段
(根据需要),在
ViewPager
中添加
片段
,并在其中实例化
RecyclerView
。这个
片段
还将负责在
回收视图
中膨胀数据

对于
AppBarLayout
的高度使用
wrap\u内容
没有什么错,我已经在我的应用程序中这样做了。也没有要求他使用碎片。这个问题不清楚他说“viewpager可以用recyclerView滚动”是什么意思。他可能是想让ViewPager看起来像是RecyclerView中的第一项。使用
wrap_content
作为
AppBarLayout
的高度没有错,我已经在我的应用程序中这样做了。也没有要求他使用碎片。这个问题不清楚他说“viewpager可以用recyclerView滚动”是什么意思。他可能是想让ViewPager表现得好像它是RecyclerView中的第一项一样。请解释“ViewPager可使用RecyclerView滚动”是什么意思。是的,当您开始滚动RecyclerView时,ViewPager也会使用折叠工具栏布局滚动(如果可能)类似于listview的标题请解释“viewpager可使用recyclerView滚动”的含义是的,当您开始滚动recyclerView时,viewpager也会使用CollasingToolbarLayout(如果可能)滚动,类似于listview的标题
<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:fitsSystemWindows="true">

<include layout="@layout/layout_view_pager"
    app:layout_collapseMode="parallax"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

<android.support.v7.widget.RecyclerView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipToPadding="true"
    android:saveEnabled="false"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

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

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

            <RelativeLayout
                android:id="@+id/header_labels"
                android:layout_width="match_parent"
                android:layout_height="@dimen/header_height"
                android:background="@color/brand_green"
                app:layout_collapseMode="pin"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/actionbar_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:textColor="@android:color/white"
                    android:textSize="43sp"/>

                <TextView
                    android:id="@+id/actionbar_balance_label"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:layout_marginTop="5dp"          android:textSize="13sp"/>
            </RelativeLayout>

        <android.support.v7.widget.Toolbar
                    android:id="@+id/my_toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    app:layout_collapseMode="pin"
                    app:contentInsetStart="0dp">

                    <TextView
                        android:id="@+id/chime_sign"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:gravity="center"
                        app:iconFontColor="@android:color/white"
                        app:iconFontSize="26sp"/>

                </android.support.v7.widget.Toolbar>

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

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

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:clickable="true"
    android:src="@drawable/fab_icon_mm"
    app:elevation="6dp"
    app:fabSize="normal"
    app:rippleColor="@color/brand_dark_green"
    app:pressedTranslationZ="12dp"
    app:layout_anchor="@id/header_labels"
    app:layout_anchorGravity="bottom|right|end"/>