项目作者: xujiangithub

项目描述 :
一个通用的header管理器,用法简便,其实主要目的是为了能自定义一个header,这个辅助用
高级语言: Kotlin
项目地址: git://github.com/xujiangithub/RecyclerView-Header.git
创建时间: 2019-03-27T06:17:07Z
项目社区:https://github.com/xujiangithub/RecyclerView-Header

开源协议:

下载


可定制化的RecyclerView-Header

一个通用的header管理器,用法简便,其实主要目的是为了能自定义一个header,这个辅助用

GoodPersimmonRefreshHeader

ezgif.com-resize.gif

使用方式

自定义一个View,实现IHeader接口,里面有四个状态的回调方法,可自行选择实现哪一个或者都实现,在实现的方法内部调用super.当前fun名。

  1. /**
  2. * 正在刷新实现方法
  3. */
  4. fun isLoading() {
  5. state = TYPE_IS_LOADING
  6. }
  7. /**
  8. * 下拉刷新实现方法
  9. */
  10. fun pullToLoad() {
  11. state = TYPE_PULL_TO_LOADING
  12. }
  13. /**
  14. * 释放刷新实现方法
  15. */
  16. fun releaseToLoad() {
  17. state = TYPE_UP_TO_LOADING
  18. }
  19. /**
  20. * 刷新完成实现方法
  21. */
  22. fun completeLoad() {
  23. state = TYPE_COMPLETE_LOADING
  24. }

xml中的布局方式

  1. <!--最外层使用HeaderLayout-->
  2. <com.ydl.recycle.recyclerviewtest.widget.HeaderLayout
  3. android:id="@+id/header_layout"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <!--第一个view为自定义的headerView-->
  7. <com.ydl.recycle.recyclerviewtest.header.GoodPersimmonRefreshHeader
  8. android:layout_width="match_parent"
  9. android:layout_height="wrap_content">
  10. </com.ydl.recycle.recyclerviewtest.header.GoodPersimmonRefreshHeader>
  11. <!--第二个view就是正常的recyclerview了-->
  12. <android.support.v7.widget.RecyclerView
  13. android:id="@+id/recycle"
  14. android:layout_width="match_parent"
  15. android:layout_height="match_parent">
  16. </android.support.v7.widget.RecyclerView>
  17. </com.ydl.recycle.recyclerviewtest.widget.HeaderLayout>

代码中的使用

  1. //设置一个刷新得回调监听
  2. header_layout.setListener(object : HeaderLayout.OnRefreshListener {
  3. override fun onRefreshCallBack() {
  4. //...一系列耗时操作之后调用
  5. header_layout.completeLoad()
  6. }
  7. })