zoukankan      html  css  js  c++  java
  • Android如何定制一个下拉刷新,上滑加载更多的容器

    前言

    下拉刷新和上滑加载更多,是一种比较常用的列表数据交互方式。

    android提供了原生的下拉刷新容器 SwipeRefreshLayout,可惜样式不能定制。

    于是打算自己实现一个专用的。但是下拉刷新和上滑,非常考验对android布局与父子触摸机制的功底,因此参考gitHub上的一个热门的下拉刷新项目

    之所以选择他是因为它一个类就完成了所有View的适配,非常的精简强力。

    需求

    咱对下拉刷新、上滑加载更多的控件,需求如下:

    1:下拉刷新,拖动到一定距离,提示文字变成 放手刷新

    2:刷新完成之后,文字变成 刷新完成,短暂停留300毫秒提示用户

    3:随后线性加速合起控件。

    4:能适配日间、夜间模式不同的字体配色。

    最后的样子是这样的。

     

    简要思路

    1:下拉刷新参考

    https://github.com/Yalantis/Phoenix

    咱对其代码进行精简,只保留自己需要的。

    2:上滑加载更多

    咱在列表控件的Adapter代码里实现的,具体步骤如下:

    下滑到最后一项时,在启动异步请求数据前,往数组里插入一个占位数据,由Adapter负责将其渲染成载入样式

    请求数据完成后,删除数组最后一个占位数据,将本次请求数据插入到数组中。

    综合用下来感觉非常的不错,毕竟是咱自己定制的,用着也顺手,完整代码参考http://git.oschina.net/yso/CNBlogs/tree/master

  • 相关阅读:
    git 简单操作
    JS中substr与substring的区别
    手写map, filter函数
    node之pipe
    nodejs之child_process
    node真的是单线程模式吗
    【xinsir】分享一个查找文件的脚手架
    【xinsir】函数库,持续更新
    数组循环方法统计
    20190916
  • 原文地址:https://www.cnblogs.com/kimmy/p/4767877.html
Copyright © 2011-2022 走看看