1.亲测有效(LinearLayoutManager)
recyclerView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
int offset = recyclerView.computeVerticalScrollOffset();
Logger.e("scrollY " +scrollY + "oldScrollY " +oldScrollY + "offset " + offset);
// 如果是垂直滑动,获取垂直滑动距离
float distance = Utils.dp2px(mActivity, 48f);
if (offset <= distance) {
float percentage = (1 - offset / distance);
colorEvaluator(percentage);
}
}
});
输出日志: scrollY 0 oldScroll 0 Yoffset 3