All Projects → ckrgithub → Collapsingrefresh

ckrgithub / Collapsingrefresh

Licence: apache-2.0
AppBarLayout+ViewPager+RecyclerView的刷新功能

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Collapsingrefresh

Verticalviewpager
A vertical scroll ViewPager implementation. Use with scrollable views(ListView, ScrollView, RecyclerView).
Stars: ✭ 64 (-7.25%)
Mutual labels:  recyclerview, viewpager
Transformerslayout
🔥 App金刚区导航菜单,类似淘宝、QQ音乐等APP导航,方格布局横向多行滑动翻页带滚动条
Stars: ✭ 258 (+273.91%)
Mutual labels:  recyclerview, viewpager
Adsorbent
Adsorbent of RecyclerView , RecyclerView吸顶
Stars: ✭ 25 (-63.77%)
Mutual labels:  recyclerview, viewpager
Pageindicator
An Instagram like page indicator compatible with RecyclerView and ViewPager.
Stars: ✭ 236 (+242.03%)
Mutual labels:  recyclerview, viewpager
Scrollingpagerindicator
Pager indicator inspired by Instagram. Lightweight and easy to set up.
Stars: ✭ 419 (+507.25%)
Mutual labels:  recyclerview, viewpager
Shswiperefreshlayout
Android 升级版 SwipeRefreshLayout,支持RecyclerView、ScrollView等大部分组件,下拉刷新(Refresh)和上拉加载(Loadmore),支持自定义HeaderView和FooterView
Stars: ✭ 236 (+242.03%)
Mutual labels:  recyclerview, refresh
Antonio
Android library for the adapter view (RecyclerView, ViewPager, ViewPager2)
Stars: ✭ 89 (+28.99%)
Mutual labels:  recyclerview, viewpager
Banner
Android Viewpager rotation control, application guide page controls, support vertical, horizontal cycle scrolling, extended from view support animation, indicator extension and so on;Android viewpager轮播图控件、app引导页控件,支持垂直、水平循环滚动,扩展自viewpager 支持动画,指示器扩展等。
Stars: ✭ 96 (+39.13%)
Mutual labels:  recyclerview, viewpager
Adapter
A quick adapter library for RecyclerView, GridView, ListView, ViewPager, Spinner
Stars: ✭ 376 (+444.93%)
Mutual labels:  recyclerview, viewpager
Corbind
Kotlin Coroutines binding APIs for Android UI widgets from the platform and support libraries
Stars: ✭ 357 (+417.39%)
Mutual labels:  recyclerview, viewpager
Overscroll Decor
Android: iOS-like over-scrolling effect applicable over almost all scrollable Android views.
Stars: ✭ 2,671 (+3771.01%)
Mutual labels:  recyclerview, viewpager
Gallerylayoutmanager
New way to implements ViewPager/Gallery in Android with RecycleView
Stars: ✭ 684 (+891.3%)
Mutual labels:  recyclerview, viewpager
Gridpagersnaphelper
A powerful tools to impl grid paging layout by RecyclerView
Stars: ✭ 228 (+230.43%)
Mutual labels:  recyclerview, viewpager
MetalRecyclerPagerView
RecyclerView implementation for Android which makes it look and feel like ViewPager with item margins support (mutliple views effect).
Stars: ✭ 26 (-62.32%)
Mutual labels:  recyclerview, viewpager
Smilerefresh
微笑下拉刷新。这是在 SwipeRefreshLayout基础上修改的下拉刷新库。
Stars: ✭ 203 (+194.2%)
Mutual labels:  recyclerview, refresh
SlideView
🔖 Card RecycleViewManager, to make your interface cool.Use recyclerView to add cool effects to the view.
Stars: ✭ 16 (-76.81%)
Mutual labels:  recyclerview, viewpager
Recyclerpager
Using RecyclerView and SnapHelper replace ViewPager
Stars: ✭ 73 (+5.8%)
Mutual labels:  recyclerview, viewpager
Cardslideview
一行代码实现ViewPager卡片效果,比ViewPager2更强大,底层同样是RecyclerView
Stars: ✭ 301 (+336.23%)
Mutual labels:  recyclerview, viewpager
Discretescrollview
A scrollable list of items that centers the current element and provides easy-to-use APIs for cool item animations.
Stars: ✭ 5,533 (+7918.84%)
Mutual labels:  recyclerview, viewpager
Base Mvvm
App built to showcase basic Android View components like ViewPager, RecyclerView(homogeneous and heterogeneous items), NavigationDrawer, Animated Vector Drawables, Collapsing Toolbar Layout etc. housed in a MVVM architecture
Stars: ✭ 18 (-73.91%)
Mutual labels:  recyclerview, viewpager

CollapsingRefresh

AppBarLayout+ViewPager+RecyclerView的刷新功能。最低支持api 16,recyclerView:26.1.0。

效果演示

Demo

下载 APK

依赖

添加依赖:

	dependencies {
		implementation 'ckrjfrog.Refresh:CollapsingRefresh:1.0.3'//gradle plugin 3.0(包含)以上使用
		//compile 'ckrjfrog.Refresh:CollapsingRefresh:1.0.3'//gradle plugin 3.0一下使用
	}

功能及使用

1.布局引用

     <com.scwang.smartrefresh.SmartRefreshLayout
	    xmlns:android="http://schemas.android.com/apk/res/android"
	    xmlns:app="http://schemas.android.com/apk/res-auto"
	    android:id="@+id/refreshLayout"
	    android:layout_width="match_parent"
	    android:layout_height="match_parent"
	    app:srlDisableContentWhenLoading="false"
	    app:srlDisableContentWhenRefresh="false"
	    app:srlEnableAutoLoadmore="false"
	    app:srlEnableHeaderTranslationContent="true"
	    app:srlEnableLoadmore="true">
	
	    <com.scwang.smartrefresh.header.ClassicsHeader
	        android:id="@+id/classicsHeader"
	        android:layout_width="match_parent"
	        android:layout_height="wrap_content"
	        app:srlClassicsSpinnerStyle="Translate"/>
	
	    <com.ckr.behavior.SmoothRecyclerView
	        android:id="@+id/recyclerView"
	        android:layout_width="match_parent"
	        android:layout_height="wrap_content"
	        android:clipToPadding="false"
	        android:paddingBottom="5dp"
	        android:paddingLeft="5dp"
	        android:paddingRight="5dp"
	        android:paddingTop="0dp"/>
	
	    <com.scwang.smartrefresh.footer.ClassicsFooter
	        android:layout_width="match_parent"
	        android:layout_height="wrap_content"
	        app:srlClassicsSpinnerStyle="Translate"/>
	</com.scwang.smartrefresh.SmartRefreshLayout>

2.代码使用

  • 设置监听器
	appBarLayout.addOnOffsetChangedListener(this);
	recyclerView.setOnSmoothScrollListener(appBarLayout);
	smartRefreshLayout.setOnCollapsingListener(this);
  • 是否允许刷新
	@Override
	public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
		this.verticalOffset = verticalOffset;
		Logd(TAG, "onOffsetChanged: verticalOffset:" + this.verticalOffset);
		if (verticalOffset != 0) {
			boolean enableRefresh = smartRefreshLayout.isEnableRefresh();
			if (enableRefresh) {
				smartRefreshLayout.setEnableRefresh(false);
			}
		} else {
			smartRefreshLayout.setEnableRefresh(true);
		}
	}

感谢

SmartRefreshLayout

smooth-app-bar-layout

我的开源项目

PageRecyclerView:自定义RecyclerView实现翻页功能及无限轮播

FlexItemDecoration:recyclerView分割线的绘制

更新日志

  • 1.0.1-release

    • 修复:上拉刷新时拖动布局会闪烁的bug等一系列bug
    • 其他:重构代码完成
    • 依赖:ckrjfrog.Refresh:CollapsingRefresh:1.0.2
  • 1.0.1-beta

    • 实现AppBarLayout+ViewPager+RecyclerView的下拉刷新和上拉加载功能

License

Copyright 2018 ckrgithub

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].