一种新的 Header View + RecyclerView 实现方式

在 GitHub 开源了一种新的 Header View + RecyclerView 实现方式,使用 CoordinatorLayout 把 header 抽离出 RecyclerView,并做到上下滑联动,这样 Java 层代码就能简单和简洁很多,更便于刷新和响应,也不用写多 item view type 逻辑。

源代码:

https://github.com/drakeet/RecyclerViewWithHeaderNewPractice

XML 代码层次是这样的:

说明:

  • 可以使用 SmoothAppBarLayout 这个第三方库,它是一个提供顺滑滚动的 AppBarLayout 补足库,这一个层次必须置于 RecyclerView 代码下面,也就是界面上是在 RecyclerView 的上层,这样AppBarLayout 包裹的 header views 才能接收到点击事件(其实根本原因是,RV 对于 Padding 部分也会拦截手势所以不得不这么做)。
  • 如果想要列表上滑的时候,状态栏跟随着滑动显示出阴影效果,可以在 FrameLayout 外再包裹一层 android.support.design.widget.CollapsingToolbarLayout. 可以实现如图效果(注意状态栏阴影):
  • Demo 中的 UI 来自著名的 App Peach,为了避免写太多无关的、具有干扰性的 UI 代码,俺使用了两部分截图来替代繁琐的 UI 实现,在此声明和感谢  Peach.
  1. 试了一下效果不错。

    不过我把这个 demo 在手机留了一段时间偶尔出现过这样的问题:从后台恢复这个应用时,会发现 RecyclerView 是退出前滚动到的位置,但是这个 Header 还在显示,稍微一滚就会消失了

    • 个人使用如下:
      我的布局是这样的:
      Actrvity+Fragment
      SwipeRefreshLayout来实现下拉刷新
      Actrvity使用了CoordinatorLayout来收缩头部

      Fragment使用这个来实现时,发现头部不收缩了,下拉也没法到头才下拉了[囧]

  2. 多谢分享!不过有种情况,如果header比较高,容易想按住header往上滑动,这种方式就导致无法按着header滑动。

  3. Pingback: Enterprise WebDesign

  4. Pingback: copywriting services in Melbourne

  5. Pingback: Find Businesses in Australia

  6. Pingback: Internet Services in Australia

  7. Pingback: Surry Hills Escorts Agencies (New South Wales)

  8. Pingback: Student Flights Indooroopilly Reviews & Contact Details

  9. Pingback: legal steroids for women

  10. Pingback: Artists check out this Record Label

  11. Pingback: Best Newspaper in India

  12. Pingback: Sfeerhaard

  13. Pingback: Best Newspaper in India

  14. Pingback: economics tuition

  15. Pingback: economics tuition

  16. Pingback: are oral steroids safe

  17. Pingback: joseph shihara rukshan de saram

  18. Pingback: joseph s r de saram

  19. Pingback: joseph s r de saram

  20. Pingback: joe de saram

  21. Pingback: bio-ethanol haard kopen

  22. Pingback: Sandra balan

  23. Pingback: buy human growth hormone online

  24. Pingback: smart mode tøj

  25. Pingback: economics tuition

  26. Pingback: hire an attorney

  27. Pingback: Become an Uber Driver

  28. Pingback: international moving companies ireland

  29. Pingback: Nurseries & Gardening Retailers

  30. Pingback: foundation

  31. Pingback: fast metabolism diet ranch dressing recipe

  32. Pingback: download free

  33. Pingback: APKBucket

  34. Pingback: go to this site