我在Android Studio中已经CollapsingToolbarLayout
给出了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>
答案 0 :(得分:3)
更新至26.0.0-beta2。 AppbarLayout应该按预期工作。详情:Carry on Scrolling
好的,我认为third party library可以使其发挥作用。事实上,我反编译了其他应用程序,并发现:)
以上所有都被取消了,我发现了这一点。有一种简单的方法可以解决这个问题。只需将 OnScrollChangeListener 侦听器设置为 nestedsrollview 即可。关键代码如下:
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本身完成。
答案 1 :(得分:0)
参考Google issue tracker, 问题已在 最新库版本26.1.0 。
上解决如果问题仍然存在,请在Google issue tracker报告,然后重新审核。