先看下实现出来的效果:
实现思路:
思路一.ScrollView嵌套RecyclerView监听ScrollView是否滑动到底部(实现出来存在的问题:滑动页面明细有卡顿粘手的感觉,监听不到ScrollView)。
思路二.使用添加头部和尾部的方式进行实现(我使用的是BaseQuickAdapter)
实现步骤:
在横向布局(工商服务)这一栏以上是添加的头部,以下是添加的尾部。(这个应该不是很难吧,就不细讲了不会的自己百度吧!^_^)
以下是重点:
//滚动监听
rcyContextList.addOnScrollListener(new RecyclerView.OnScrollListener() {
//滚动时回调
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
//屏幕中最后一个可见子项的position
LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
//当前屏幕所看到的子项个数
int position = layoutManager.findFirstVisibleItemPosition();
View firstVisiableChildView = layoutManager.findViewByPosition(position);
//有头部
if (position <= 1) {
int scollYHeight = -firstVisiableChildView.getTop();
if (scollYHeight >= DensityUtil.dip2px(mContext, 50)) {
llTop.setBackgroundColor(Color.argb((int) 255, 94, 149, 244));
} else {
float scale = (float) scollYHeight / DensityUtil.dip2px(mContext, 50);
float alpha = (255 * scale);
// 只是layout背景透明(仿知乎滑动效果)
llTop.setBackgroundColor(Color.argb((int) alpha, 94, 149, 244));
}
} else {
llTop.setBackgroundColor(Color.argb((int) 255, 94, 149, 244));
}
}
});
这就是实现的具体步骤了,一些布局就不贴了!希望对大家有所帮助!