103style / Refreshwithappbarlayout
Licence: apache-2.0
类似知乎和BilibiliAndroid端个人中心界面 添加下拉刷新效果
Programming Languages
java 68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Refreshwithappbarlayout
View-Load-ReTry这个加载框架有点不一样,针对View进行加载,加载页面还保持了原View的属性,侧重点在灵活,哪里需要加载哪里,加载状态页面完全自定义,无任何限制,针对加载结果可以按需配置对应页面,LeakCanary检测无内存泄漏
Stars: ✭ 116 (+510.53%)
Mutual labels: refresh
KJNetworkPlugin🎡A lightweight but powerful Network library. Network Plugin, Support batch and chain operation. 插件版网络架构
Stars: ✭ 43 (+126.32%)
Mutual labels: refresh
Vue Scroll Mobile Demoweb app 主流 scroll view/瀑布流/无限加载插件用法及对比,无限加载终极解决方案
Stars: ✭ 275 (+1347.37%)
Mutual labels: refresh
LXFProtocolTool由Swift中协议方式实现功能的实用工具库【Refreshable、EmptyDataSetable 支持 Rx 】
Stars: ✭ 101 (+431.58%)
Mutual labels: refresh
prevent-pull-refresh[ABANDONED] Preventing the pull-to-refresh effect browser on mobile
Stars: ✭ 18 (-5.26%)
Mutual labels: refresh
zepto-refresh实现下拉到底部和上拉到顶部再拉就出现刷新效果
Stars: ✭ 20 (+5.26%)
Mutual labels: refresh
AosfAOSF:全称为Android Open Source Framework,即Android优秀开源框架汇总。包含:网络请求okhttp,图片下载glide,数据库greenDAO,链式框架RxJava,组件路由ARouter,消息传递通信EventBus,热更新Tinker,插件化框架Replugin,文件下载FileDownloaer,图片选择PhotoPicker,图片滤镜/毛玻璃等特效处理,GIF图片展示控件,图片九宫格控件NineGridView,对话框Dialog,导航指示器ViewpagerIndicator,进度条ProgressWheel,下拉刷新SmartRefreshLayout,key-value高效数据存储MMKV等,应有尽有。
Stars: ✭ 601 (+3063.16%)
Mutual labels: refresh
Power-Refresh-VBScriptVisual Basic Script Refresher for Excel files with Power Query and PowerPivot model
Stars: ✭ 18 (-5.26%)
Mutual labels: refresh
uni-z-paging【uni-app自动分页器】超简单!仅需两步轻松完成完整分页逻辑(下拉刷新、上拉加载更多),分页全自动处理。支持自定义加载更多的文字或整个view,自定义下拉刷新样式,自动管理空数据view等。
Stars: ✭ 91 (+378.95%)
Mutual labels: refresh
react-native-pullviewscrollview&&FlatList Pull refresh and loadmore
Stars: ✭ 26 (+36.84%)
Mutual labels: refresh
XLRefreshiOS 下拉刷新工具
Stars: ✭ 25 (+31.58%)
Mutual labels: refresh
Canrefresh 可适配所有视图的下拉刷新上拉加载,并支持各种风格。
Stars: ✭ 351 (+1747.37%)
Mutual labels: refresh
vuejs-loadmoreA pull-down refresh and pull-up loadmore scroll component for Vue.js. Vue上拉加载下拉刷新组件
Stars: ✭ 62 (+226.32%)
Mutual labels: refresh
MagiRefreshswift版下拉刷新,支持多种样式,同时支持,加载动画,网络错误占位(有兴趣学习如何用swift使用runtime的可以看看)
Stars: ✭ 25 (+31.58%)
Mutual labels: refresh
Spring Cloud ExamplesSpring Cloud 学习案例,服务发现、服务治理、链路追踪、服务监控等
Stars: ✭ 5,829 (+30578.95%)
Mutual labels: refresh
Smartrefreshhorizontal横向刷新、水平刷新、RefreshLayout、OverScroll,Horizontal,基于SmartRefreshLayout的水平智能刷新
Stars: ✭ 359 (+1789.47%)
Mutual labels: refresh
TGRefreshSwift弹簧、橡皮筋下拉刷新控件,类似QQ下拉刷新效果,同时支持其他样式
Stars: ✭ 50 (+163.16%)
Mutual labels: refresh
RefreshWithAppBarLayout
RefreshWithAppBarLayout
觉得不错就点下右上角的Star吧
Apk
简书链接:http://www.jianshu.com/p/66a4e1377ca8
CSDN链接:http://blog.csdn.net/lxk_1993/article/details/68484922
这是一个实现类似 知乎、Bilibili Android端个人中心界面 添加下拉刷新效果 == 手机QQ好友动态 界面。
效果图
先上效果图吧
声明
先声明下拉刷新修改自:http://blog.csdn.net/leehong2005/article/details/12567757.
本例是使用AppBarLayout来判断是否可以刷新的,其他的刷新请参考这个链接。
这个效果是最近项目需求中的,然后看了下 知乎 B站的个人中心都没有下拉刷新,然后github上也没找到类似的(有的话 可能是我不会找吧)…
然后就默默开始搜索下拉刷新实现原理,然后就找到了上面链接那篇文章,然后刚好可以实现,废话不多说了,来看怎么实现吧!
转载请以链接形式标明出处:
http://blog.csdn.net/lxk_1993/article/details/68484922
本文出自:lxk_1993的博客
实现步骤
- 新建一个java类,PullToRefreshBase,泛型一般用FrameLayout,然后实现alt+enter实现构造和需要重写的方法,如图。
-
定义一个boolean类型的变量来判断是否可以刷新(是否拦截点击事件),默认为true,添加set方法,然后在isReadyForPullDown方法中返回这个变量,可以参考下载项目中的 WithBottomContentView.java和NoBottomTabActivityXmlView.java。
-
在createRefreshableView中添加你要刷新的区域布局。
- 然后基本就完成了,直接去Activity或者Fragment中开用,直接setContentView(刚刚写的类),如果需要使用findViewById,如图中,应写成recyclerview = rootview.findViewById(R.id.recycle_view).
- 然后直接appbarlayout添加滑动监听,当verticalOffset=0的时候,即滑动到顶部,设置拦截点击事件,来实现刷新。
扩展
相信大家项目中的刷新视图基本都是和项目icon有关的不会是这个默认的刷新试图,所以需要修改刷新试图的,直接修改refreshlibray中HeaderLoadingLayout及其布局pull_to_refresh_header,然后再图中几个方法中去改变其对应的显示内同即可。
- onStateChanged 状态改变时回调
- onReset 刷新完之后重置状态
- onPullToRefresh 下拉时回调
- onReleaseToRefresh 下拉松开后回调
- onRefreshing 刷新的时候回调
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].