赞
踩
先看下实现出来的效果:
实现思路:
思路一.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));
- }
- }
- });
这就是实现的具体步骤了,一些布局就不贴了!希望对大家有所帮助!
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。