距离上次发文又过了一年,此次我给你们带来了另外一个开源库 SmartRefreshHorizontal,下面先看看效果:java

传送门

Demo

效果演示

商品详情

ViewPager

数据演示

由来

SmartRefreshLayout 的设计灵活多样,扩展性高,我想这应该是它受欢迎的缘由之一。 在 issue 区有很多人建议让 SmartRefreshLayout 支持横向刷新。 其实你们都知道横向刷新的库已经有了很多,我给他们的回复是使用其余现有的横向刷新库。 但这在 issue 引起热议,多是那些横向刷新库的使用、功能、扩展与 SmartRefreshLayout有很大差距。 因此我本身认为要作横向刷新库也须要可以像 SmartRefreshLayout 同样的多功能与易扩展。 若是直接扩展 SmartRefreshLayout 的功能使其直接支持横向,将会增长代码量。 然而当此时它已经足够庞大,而且也有很多人抱怨它太大须要分包细化功能。因此一开始的时候我几乎没有开发横向刷新功能的想法。 由于用到横向刷新的应用场景比竖向刷新少不少,我本身也不多会用到这样的场景。 若是为了实现一个我本身不经常使用的功能库要花费我太多时间和精力实在划不来,仅仅实现一个简单的横向刷新又没有必要...git

原理

终于!有一天我在开发旋转动画过程当中,产生了一个奇妙的想法:若是把 SmartRefreshLayout 旋转90度会怎样? 而后开始作试验:把 SmartRefreshLayout 旋转90度,再把 Content 旋转-90度。结果居然真的能够用!! 这样就不用让我花大量时间精力去作横向刷新代码实现,SmartRefreshLayout 原有的全部功能多能够直接使用, 以前设计的十多个 Header 和 Footer 也能够不用任何修改直接使用!这让我产生了开发横向刷新库的动力。 因而基于这个试验想法就诞生了这个 SmartRefreshHorizontal 库 !github

SmartRefreshHorizontal 做为 SmartRefreshLayout 的扩展库,实现了横向刷新和加载的功能, 虽然是独立的开源库,可是并无重复作实现, 而是对 SmartRefreshLayout 作了封装和转换,使其支持横向刷新。 因此 SmartRefreshHorizontal 继承了 SmartRefreshLayout 全部的特性,只是方向改为了横向。app

明白了 SmartRefreshHorizontal 与 SmartRefreshLayout 的关系,那么你们在使用本库的使用同时也要依赖 SmartRefreshLayout,而且版本要大于 1.1.0-beta-1 ,不然会出现找不到类的错误。布局

简单用例

1. 在 build.gradle 中添加依赖

implementation 'com.scwang.smartrefresh:SmartRefreshHorizontal:1.0.0-beta-1'

implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-beta-1'//必须依赖 版本 1.1.0-beta-1 以上

//androidx

implementation 'com.scwang.smartrefresh:SmartRefreshHorizontal:1.0.0-andx-1'

implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-andx-16'//必须依赖 版本 1.1.0-andx-16 以上

2. 在XML布局文件中添加 SmartRefreshHorizontal

android:id="@+id/refreshLayout"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/recyclerView"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:overScrollMode="never"

android:orientation="horizontal"

android:background="#fff" />

3. 在 Activity 或者 Fragment 中添加代码

RefreshLayout refreshLayout = root.findViewById(R.id.refreshLayout);

refreshLayout.setRefreshHeader(new MaterialHeader(root.getContext()));

refreshLayout.setRefreshFooter(new RefreshFooterWrapper(new MaterialHeader(root.getContext())), -1, -2);

混淆

SmartRefreshHorizontal 不须要添加混淆过滤代码,而且已经混淆测试经过,若是你在项目的使用中混淆以后出现问题,请及时通知我。测试

android智能刷新smart,Android横向智能刷新框架-SmartRefreshHorizontal相关推荐

  1. 【C++】智能指针 Smart Pointer

    智能指针 智能指针 Smart Pointer auto_ptr 智能指针的自实现 shared_ptr weak_ptr unique_ptr 智能指针 Smart Pointer 用来改善传统指针 ...

  2. sketch生成android布局,Sketch新功能——智能分布 Smart Layout

    从2019年九月到2020年二月的半年中,Sketch 经历了高密度的更新节奏,从58版本一路更新到了62版本,一些已有功能得到了优化和补充,也有一些全新的大功能,今天马克笔设计留学的Muzi老师来说 ...

  3. android listview下拉刷新动画,ListView下拉刷新实现方式详解和改造(上)

    我们知道页面的下拉刷新目前基本已经成为智能移动终端的标配刷新方式.Twitter设计出现有的下拉刷新(在2013年申请了专利). 下拉刷新1.jpg 这一优美而又简单的刷新方式,很快使得各大系统纷纷效 ...

  4. 智能电视 android,智能电视:Android真的是期盼已久的免费午餐?

    从CES到CCBN,从CCEF到NAB,在IT巨头和家电厂家组合式铺天盖地的宣传攻势下,智能电视的关注度火速升温,俨然成为继互联网电视.3D电视后的又一热点,而IT巨鳄谷歌更以迅雷不及掩耳之势跨界席卷 ...

  5. android仿华为系统相册之智能相册开发

    一.开发内容简介 最近课程要求仿照华为系统相册做一个android相册客户端,我称之为智能相册(智能是指其使用了机器学习的人脸识别.人脸检测和分类算法).本着反正实验报告写了也是写了的心态,还有自己在 ...

  6. android 相机智能补光,美图秀秀智能补光功能应用详解

    晚上拍照时最容易遇见"曝光不足"和"曝光过度"的问题,使得照片看起来明暗不协调,缺乏应有的美感.不过,如果你的手机中 装有"美图秀秀",这些 ...

  7. android listview分页显示,Android应用中使用ListView来分页显示刷新的内容

    点击按钮刷新1.效果如下: 实例如下:  上图的添加数据按钮可以换成一个进度条  因为没有数据所以我加了一个按钮添加到数据库用于测试:一般在服务器拉去数据需要一定的时间,所以可以弄个进度条来提示用户: ...

  8. 谷歌的android下拉刷新页面,Android SwipeRefreshLayout:谷歌官方SDK包中的下拉刷新

     <Android SwipeRefreshLayout:谷歌官方SDK包中的下拉刷新> 下拉刷新在如今移动开发中应用如此广泛和普遍,以至于谷歌干脆在SDK中给予支持.在android ...

  9. android 下拉刷新 组件,android系统自带下拉刷新控件的实现

    android系统自带的下拉刷新控件SwipeRefreshLayout位于android.support.v4.widget包下,实现步骤如下: 1.在布局文件中添加该控件,该控件一般作为父控件,而 ...

最新文章

  1. 系统芯片(SOC)架构- Aviral Mittal
  2. Luogu P4859「已经没有什么好害怕的了」
  3. 记录一个解决了一个下午加一个晚上的问题,关于springMVC上传文件的功能
  4. while和for循环
  5. python函数-装饰器
  6. Kaggle新手银牌:Airbus Ship Detection 卫星图像分割检测
  7. mysql 插入 point_mysq Point类型 查询和插入操作:insert和select
  8. iOS 15泄密,屏下指纹的iPhone 13真的要来了
  9. eap方法 华为手机怎么连wifi_如何手动连接802.1x EAP证书加密WIFI
  10. JS中Ajax的方法和应用
  11. 作业五:三种近距离通信技术NFC、蓝牙、WiFi
  12. 生物计算机 量子计算机,光子计算机、生物计算机和量子计算机
  13. gitup上传的坑 ! [rejected] master -> dev-gaochao (fetch first)......
  14. Kindle PaperWhite 2越狱教程
  15. 钽电容黑色和黄色的区别
  16. MGF6mARice:利用分子图特征和残差块预测水稻DNAn6-甲基腺嘌呤位点
  17. ISO26262功能安全 安全等级和量化指标
  18. HaaS云端一体智能语音交互方案
  19. 2012, PPSN,Geometric Semantic Genetic Programming,GSGP
  20. js 获取所有被选中复选框的值

热门文章

  1. 怎么样给单选按钮前面插入小图标
  2. php中new运算符的作用,C++_C++编程中new运算符的使用学习教程,new运算符用作从自由存储为 typ - phpStudy...
  3. python乘法模板_python – 使用矩阵乘法的numpy模板匹配
  4. 无效0_一场时代的变革,一场与时间的较量,“0”无效载体、“0”空气氧化、“0”细菌生存。...
  5. 西藏打造云计算数据中心 2020年中国数据中心规模约2000亿元
  6. 【案例】弱电机房用电负荷计算意义及计算方法
  7. 数据中心行业哪个证书含金量最高?对职业最有帮助?
  8. 在mysql中怎样设置值唯一_mysql怎么设置行值唯一?
  9. python datetime格式转换_分别用Excel和python进行日期格式转换成时间戳格式
  10. power计算机英语,十万火急求解计算机英语!AC power lineAND gateAND-OR circuitXOR gateunrel...