【问题标题】:scrolling view behaviour not working with SwipeRefreshLayout滚动视图行为不适用于 SwipeRefreshLayout
【发布时间】:2015-11-07 00:17:37
【问题描述】:

我正在尝试构建一个屏幕,向上滚动时会逐渐隐藏工具栏,向上滚动时,工具栏将再次倒计时。我正在做这样的事情(如下所示),但工具栏始终保留并覆盖内容。我怎样才能让它在我们向下滚动时逐渐消失。

你能告诉我哪里出错了吗?

<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
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.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<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:fitsSystemWindows="true">
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:layout_scrollFlags="scroll|enterAlways" >

    </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"
    app:layout_behavior=
        "@string/appbar_scrolling_view_behavior">
    <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:paddingLeft="@dimen/list_side_margin"
        android:paddingRight="@dimen/list_side_margin"
        android:paddingBottom="28dp"></android.support.v7.widget.RecyclerView</android.support.v4.widget.SwipeRefreshLayout></android.support.design.widget.CoordinatorLayout</android.support.v4.widget.DrawerLayout>

【问题讨论】:

    标签: android android-layout android-design-library androiddesignsupport


    【解决方案1】:

    Android Support Library 中的revision 23 开始,SwipeRefreshLayout 现在实现了NestedScrollingChild,这是将滚动事件正确发送到AppBarLayout 所需的接口。

    至少更新到 23.0.0 版并滚动 SwipeRefreshLayout 应该可以正确滚动 Toolbar

    【讨论】:

      猜你喜欢
      • 2019-03-31
      • 2014-10-05
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多