向上滑动时,不会为 CoordinatorLayout 内的 NestedScrollView 触发 onNestedFling 或 onNestedPreFling 行为回调。但是,当我向下飞行时,它们会被触发。任何已知问题?</p>
当我用 RecyclerView 替换 NestedScrollView 时会触发上述回调。
只是为了澄清,自定义行为类是:
public class DummyBehavior extends CoordinatorLayout.Behavior<View> {
public DummyBehavior() {
}
public DummyBehavior(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout, View child, View directTargetChild, View target, int nestedScrollAxes) {
Log.i("onStartNestedScroll", "true");
return true;
}
@Override
public boolean onNestedPreFling(CoordinatorLayout coordinatorLayout, View child, View target, float velocityX, float velocityY) {
Log.i("onNestedPreFling", "true");
return super.onNestedPreFling(coordinatorLayout, child, target, velocityX, velocityY);
}
@Override
public boolean onNestedFling(CoordinatorLayout coordinatorLayout, View child, View target, float velocityX, float velocityY, boolean consumed) {
Log.i("onNestedFling", "true");
return super.onNestedFling(coordinatorLayout, child, target, velocityX, velocityY, consumed);
}
}
Log.i("onNestedFling", "true");
并且Log.i("onNestedPreFling", "true");
仅在 RecyclerView 中出现乱码时才被记录。
并且他们只在 NestedScrollView 的情况下登录向下抛(而不是向上抛)。