CoordinatorLayout无法正确滚动

时间:2016-05-02 23:06:35

标签: android android-coordinatorlayout android-appbarlayout

我正在尝试实施一个主要活动,该活动包含一个appbar和一个交错的网格"文章"

我的appbar没有任何菜单按钮,只有包含应用程序品牌的imageView。

我实现了一个协调器布局,因为我想在滚动网格时实现以下行为:

  • 应用栏高112dp,应该会折叠,直到达到minHeight属性中描述的高度。 recyclerview元素应该从它下方传递。图像应缩小约20%,以使视觉效果更具影响力。

出于某种原因,当我滚动回收者视图时,appbar保持原始位置并且不会崩溃。

这是我的xml文件:

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

    <android.support.design.widget.AppBarLayout
        android:id="@+id/toolbar_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?colorPrimary">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            android:layout_marginLeft="@dimen/list_toolbar_side_margin"
            android:layout_marginRight="@dimen/list_toolbar_side_margin"
            android:layout_width="match_parent"
            android:layout_height="112dp"
            android:minHeight="?actionBarSize"
            app:layout_scrollFlags="scroll|enterAlwaysCollapsed">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:src="@drawable/logo"
                android:contentDescription="@string/app_name" />

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

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/swipe_refresh_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipToPadding="false"
            android:scrollbarStyle="outsideOverlay"
            android:paddingTop="116dp"
            android:paddingLeft="@dimen/list_side_margin"
            android:paddingRight="@dimen/list_side_margin"
            android:paddingBottom="28dp"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
    </android.support.v4.widget.SwipeRefreshLayout>


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

请帮帮我吗?

P.S。:是否有任何在线资源教你如何实现材料设计滚动技术?特别是以下链接中的最后一个:

http://www.google.com/design/spec/patterns/scrolling-techniques.html?utm_campaign=io15&utm_source=dac&utm_medium=blog#scrolling-techniques-scrolling

1 个答案:

答案 0 :(得分:0)

您可以尝试使父级布局ScrollView行为

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">