直接上效果图,如果不做处理,CoordinatorLayout中的AppBarLayout可以滑动折叠。

我们希望达到如下的效果,即AppBarLayout的折叠仅依靠滑动RecyclerView实现

代码如下

//设置仅滚动RecyclerView来处理AppBarLayout的折叠。
AppBarLayout view_appbar = findViewById(R.id.appbar);
view_appbar.addOnLayoutChangeListener((v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) view_appbar.getLayoutParams();//如果不保证view的layout已完成,params.getBehavior()将返回null//可以使用ViewCompat.isLaidOut()来检查,不过这里放在addOnLayoutChangeListener//回调中保证layout已完成AppBarLayout.Behavior behavior = (AppBarLayout.Behavior) params.getBehavior();behavior.setDragCallback(new AppBarLayout.Behavior.DragCallback() {@Overridepublic boolean canDrag(@NonNull AppBarLayout appBarLayout) {return false;}});
});

CoordinatorLayout中AppBarLayout的折叠仅依靠滑动RecyclerView实现相关推荐

  1. Androidx CoordinatorLayout 和 AppBarLayout 实现折叠效果(通俗的说是粘性头效果)

    Androidx  CoordinatorLayout 和 AppBarLayout 实现折叠效果 或者 说是粘性头效果 先看下面是不是你需要的结果  大致顺序是先滚动整体,然后折叠 在滚动list ...

  2. CoordinatorLayout 和 AppBarLayout 实现折叠效果 底部带阴影的处理方法

    底部有 阴影如下 这个处理方法很简单 在AppBarLayout 布局里面设置 elevation 为0dp <com.google.android.material.appbar.AppBar ...

  3. CoordinatorLayout 和 AppBarLayout 实现的局部点击按钮实现滑动某一个固定的距离

    实现的效果如下: 如果需要的只是折叠效果 可以看这遍文章点击跳转!!!!!!!!!!!!!!!!!!!! 具体代码如下 findViewById(R.id.tv).setOnClickListener ...

  4. android framelayout 高度,Android SupportLib – FrameLayout在CoordinatorLayout中与AppBarLayout消耗整个屏幕高度...

    我目前在Android设计支持库的CoordinatorLayout中遇到了一个FrameLayout的问题,而在创建选项卡时,我遵循了这个 post的指示. 基本上大多数事情按预期工作,容器片段被充 ...

  5. AndroidX之CoordinatorLayout+AppBarLayout顶部折叠栏

    Android之CoordinatorLayout+AppBarLayout顶部折叠栏 我的是androidX 添加依赖 implementation 'com.google.android.mate ...

  6. XML中配置网易云歌手详情滑动效果

    本文由 imurluck 授权投稿 原文链接:https://blog.csdn.net/z1289042324/article/details/90447669 HeaderLayout 网易云音乐 ...

  7. 在Coordinatorlayout中使用RecyclerView导致recyclerview最后一个item显示不全的问题

    recyclerview layout in coordinatorlayout cause last item not visible (cutting off) 在Coordinatorlayou ...

  8. [VIM]VIM/GVIM中代码的折叠和打开

    VIM/GVIM中代码的折叠和打开         前言:在查看代码的时候,如果代码十分冗长,尤其是c/c++系列的时候,代码结构比较让人难以理清,主要是各种注释.括号的匹配问题,虽然可以用%来查看匹 ...

  9. 每天一道LeetCode-----计算给定序列中所有长度为k的滑动窗的最大值集合

    原题链接Sliding Window Maximum 给定一个数组,从左到右每k个位置算作一个滑动窗,每到达一个滑动窗,都需要找到这个滑动窗中最大的元素并记录下来,最后返回所有最大元素组成的数组.要求 ...

最新文章

  1. linux目录和文件管理命令
  2. PHP图片间隙用什么代码,如何解决CSS图片下面有间隙的问题
  3. Java Web Jsp
  4. mysql current_timestamp 不自动更新_MySQL ON UPDATE CURRENT_TIMESTAMP不更新
  5. Django实现省市县级联菜单
  6. 5月23 注册审核
  7. OpenResty中使用反向代理
  8. ubantu 单用户模式进入系统
  9. Android ExpandableListView实现列表可扩展点击显示内容或隐藏内容
  10. 单机到集群的WEB架构演变
  11. 云原生时代企业级应用架构设计的思考
  12. 比较好的取色工具汇总
  13. Excel之vlookup函数的模糊匹配和精准匹配
  14. OGG-01433 Oracle GoldenGate Capture for Oracle, EXXX.prm: Failed to validate table <SCHEMANAME.TABLE
  15. 基于xxtea算法文件加密工具
  16. 42pinQFN芯片焊接总结
  17. 对超级课程表产品的一些个人小看法
  18. SQLServer 2008 R2出现”不允许保存更改”解决
  19. kubernetes中metrics-server与HPA
  20. 安卓应用商店上架从入门到精通到放弃

热门文章

  1. 2008-07-29
  2. 权变措施 弹回计划 应急计划的区别
  3. 修改 framework 代码的经验和踩过的坑
  4. Android 7.0 init.rc的一点改变
  5. Python中赋值、浅拷贝、深拷贝
  6. Spring_Hibernate整合准备
  7. Spring中AOP的两种代理方式(Java动态代理和CGLIB代理)
  8. DICOM医学图像处理:开源库mDCM与DCMTK的比较分析(一),JPEG无损压缩DCM图像(续)...
  9. 在Exchange 2013 OWA登录页面中修改密码
  10. Linux系统状态检测及进程控制--2