Android设计库25.1.0导致FloatingActionButton.Behavior停止工作

Android设计库25.1.0导致FloatingActionButton.Behavior停止工作,android,Android,我已经使用这个FloatingActionButton.Behavior好几个月了,它负责隐藏和显示我的应用程序的FAB。从来没有问题 public class ScrollAwareFABBehavior extends FloatingActionButton.Behavior { public ScrollAwareFABBehavior(Context context, AttributeSet attrs) { super(); } @Override public bool

我已经使用这个FloatingActionButton.Behavior好几个月了,它负责隐藏和显示我的应用程序的FAB。从来没有问题

public class ScrollAwareFABBehavior extends FloatingActionButton.Behavior {
public ScrollAwareFABBehavior(Context context, AttributeSet attrs) {
    super();
}

@Override
public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final FloatingActionButton child,
                                   final View directTargetChild, final View target, final int nestedScrollAxes) {
    // Ensure we react to vertical scrolling
    return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL
            || super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target, nestedScrollAxes);
}

@Override
public void onNestedScroll(final CoordinatorLayout coordinatorLayout, final FloatingActionButton child,
                           final View target, final int dxConsumed, final int dyConsumed,
                           final int dxUnconsumed, final int dyUnconsumed) {
    super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed);
    if (dyConsumed > 0 && child.getVisibility() == View.VISIBLE) {
        // User scrolled down and the FAB is currently visible -> hide the FAB
        child.hide();
    } else if (dyConsumed < 0 && child.getVisibility() != View.VISIBLE) {
        // User scrolled up and the FAB is currently not visible -> show the FAB
        child.show();
    }
}}
FloatingAction按钮。行为停止正常工作。它把晶圆厂藏了一次,然后就再也不叫了。不是onStartNestedScroll或onNestedScroll方法


有人知道这里发生了什么吗。我的其余代码保持不变,我只更新这个库,它会像以前一样停止工作

我有完全相同的问题,看起来“支持设计包”中有一个bug。我相信,我们现在唯一能做的就是回滚到以前的版本之一。我决定使用以下方法:

compile 'com.android.support:design:25.0.1'

对于
25.1.0
CoordinatorLayout
在其
onNestedScroll
方法中查找要调用的行为时跳过设置为
GONE
的视图。
解决方案是用
不可见的
取代晶圆厂的可见性
消失的

简单地说,改变:

child.hide();  
致:


我也在使用这个版本,因为当时我找不到任何其他解决方案。我认为还有另一种方法,但这意味着改变行为类。有一个新版本编译'com.android.support:design:25.2.0',错误仍然存在,到目前为止我没有更新这个库,到目前为止,我使用的是@woxingxiao的解决方案,它在25.2版本中运行良好。0@Lancelot如果这解决了您的问题,您应该通过单击复选标记接受答案,以便其他人知道这是一个实际的解决方案,而不仅仅是一个潜在的解决方案。
child.hide();  
child.hide(new FloatingActionButton.OnVisibilityChangedListener() {
        @Override
        public void onHidden(FloatingActionButton fab) {
            super.onHidden(fab);
            fab.setVisibility(View.INVISIBLE);
        }
    });