CollapsingToolbarLayout滚动问题

问题描述 投票:3回答:2

我有一个CollapsingToolbarLayout问题来自已经在Android Studio中的ScrollingActivity

向下滚动动作效果很好,但是当我想向上滚动时,它总是向我显示屏幕的末端已经到达而没有再次扩展Toolbar。为了扩展Toolbar,当屏幕结束时,我必须再次向上滚动。

由于我在解释问题方面不是很擅长,因此我在YouTube上上传了一个视频,以便您自己查看。

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

你也可以在那里看到一个小虫子。工具栏有时只是用手指做出“坏动作”而自行折叠,我想你可以在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>
toolbar android-coordinatorlayout android-collapsingtoolbarlayout
2个回答
3
投票

更新到26.0.0-beta2。 AppbarLayout应该按预期工作。详细信息:Carry on Scrolling

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

以上都是郁闷,我发现了这一点。有一种简单的方法可以解决这个问题。只需将onScrollChangeListener侦听器设置为nestedscrollview即可。关键代码如下:

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本身来完成。


0
投票

参考Google issue tracker,问题在最新的库版本26.1.0上得到解决。

如果任何问题仍然存在,请在Google issue tracker报告,他们将重新开放审查。

© www.soinside.com 2019 - 2024. All rights reserved.