toolbar - CollapsingToolbarLayout 滚动问题

标签 toolbar android-coordinatorlayout android-collapsingtoolbarlayout

我在给定 ScrollingActivity 的 Android Studio 中的 CollapsingToolbarLayout 有问题。

向下滚动 Action 完美无缺,但当我想向上滚动时,它总是显示已到达屏幕末尾,而无需再次展开 Toolbar。要展开 Toolbar,我必须在到达屏幕末尾时再次向上滚动。

由于我不太擅长解释问题,所以我在 YouTube 上上传了一段视频,您可以自己观看。

视频:https://youtu.be/WrzsY2ooj9o

您还可以在其中看到一个小错误。有时只需用手指做出“不良 Action ”,工具栏就会自行折叠,我想您可以在 0:11 看到它。

感谢您的帮助!

<?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"
    tools:context="com.appmac.ron.myapplication.ScrollingActivity">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:fitsSystemWindows="true"
        android:theme="@style/AppTheme.AppBarOverlay">

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

            <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/AppTheme.PopupOverlay" />

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

    <include layout="@layout/content_scrolling" />

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/fab_margin"
        android:src="@android:drawable/ic_dialog_email"
        app:layout_anchor="@id/app_bar"
        app:layout_anchorGravity="bottom|end" />

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

最佳答案

更新至 26.0.0-beta2。 AppbarLayout 应该按预期工作。详情:Carry on Scrolling

好吧,我想一个third party library可以使它工作。事实上,我反编译了其他应用程序并找到了这个:)

以上都是deperated,我发现了这个。有一种简单的方法可以解决这个问题。只需为您的 nestedsrollview 设置一个 OnScrollChangeListener 监听器。关键代码如下:

nestScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
  @Override
  public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX,
      int oldScrollY) {
    if(scrollY == 0) appBarLayout.setExpanded(true);  
  }
});

动画将由方法 appBarLayout 本身完成。

关于toolbar - CollapsingToolbarLayout 滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34925106/

相关文章:

android - 使用 Android 导航组件拦截返回导航

java - 如何在不破坏 CoordinatorLayout.LayoutParams 的情况下重写 CoordinatorLayout.Behavior

android - AppBarLayout 在 setVisibility(View.GONE) 后占用空间

安卓设计库 : SwipeRefreshLayout don't detect swipe over CollapsingToolbarLayout

android - 如何使用带有 ListView 而不是 Recycler View 的折叠工具栏

delphi - TToolbar 与 TForm.DoubleBuffered 不兼容?

javascript - jQgrid工具栏搜索,在搜索框旁边添加清除搜索按钮

extjs4 - ExtJS 4.1 - 如何动态添加项目到工具栏?

Android - 在每个 viewpager recyclerview 的基础上激活应用栏滚动

Android滚动整个屏幕而不仅仅是 ListView