• 自定义支持上拉加载更多,下拉刷新,支持自由切换状态【加载中,加载成功,加载失败,没网络等状态】的控件,拓展功能[支持长按拖拽,侧滑删除]可以选择性添加 。具体使用方法,可以直接参考demo。
  • 轻量级侧滑删除菜单,支持recyclerView,listView,直接嵌套item布局即可使用,整个侧滑菜单思路是:跟随手势将item向左滑动
  • 该库已经用到了实际开发项目中,会持续更新并且修改bug。如果觉得可以,可以star一下,多谢支持!
  • 感谢前辈大神们案例及开源分享精神。
  • 一行代码集成:compile 'org.yczbj:YCRefreshViewLib:2.5'
  • 项目地址:https://github.com/yangchong211/YCRefreshView
  • GitHub地址:https://github.com/yangchong211
    • 1.1 支持上拉加载,下拉刷新,可以自定义foot底部布局,支持添加多个自定义header头部布局。
    • 1.2 支持切换不同的状态,比如加载中[目前是ProgressBar,加载成功,加载失败,加载错误等不同布局状态。当然也可以自定义这些状态的布局
    • 1.3 支持复杂界面使用,比如有的页面包含有轮播图,按钮组合,横向滑动,还有复杂list,那么用这个控件就可以搞定。
    • 1.4 已经用于实际开发项目投资界,新芽,沙丘大学中……
    • 1.5 轻量级侧滑删除菜单,直接嵌套item布局即可使用,使用十分简单。
    • 1.6 支持插入或者删除某条数据,支持CoordinatorLayout炫酷的效果
    • 1.7 支持粘贴头部的需求效果
    • 1.8 RecyclerView实现条目Item拖拽排序与滑动删除
    • 1.9 更多内容可以直接看案例代码
  • 2.0 参考并借鉴了大量的优秀开源库,由于后期业务需求发生变化,因此做了一些功能的延伸与定制。继续完善并修改库bug!!!已经用于实际开发中。
  • 2.1 先来看看布局,实际上只是在recyclerView基础上做了大量拓展……
  • <?xml version="1.0" encoding="utf-8"?>
    <android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ptr_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"> <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"> <!--RecyclerView控件,支持添加头部和底部view-->
    <android.support.v7.widget.RecyclerView
    android:id="@android:id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="vertical|horizontal"
    android:clickable="true"
    android:focusable="true" /> <!--加载数据为空时的布局-->
    <FrameLayout
    android:id="@+id/empty"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    android:focusable="true"/> <!--正在加载数据中的布局-->
    <FrameLayout
    android:id="@+id/progress"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    android:focusable="true"/> <!--加载错误时的布局:网络错误或者请求数据错误-->
    <FrameLayout
    android:id="@+id/error"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    android:focusable="true"/> </FrameLayout> </android.support.v4.widget.SwipeRefreshLayout>
    • 3.1 首先在集成:compile 'org.yczbj:YCRefreshViewLib:2.5'
    • 3.2 在布局中:
recyclerView.setLayoutManager(new FullyGridLayoutManager(activity, 3));
adapter = new DouBookAdapter(activity);
recyclerView.setAdapter(adapter);
//加载更多
adapter.setMore(R.layout.view_recycle_more, new RecyclerArrayAdapter.OnMoreListener() {
@Override
public void onMoreShow() {
if (NetworkUtils.isConnected()) {
if (adapter.getAllData().size() > 0) {
getTopMovieData(mType, adapter.getAllData().size(), adapter.getAllData().size() + 21);
} else {
adapter.pauseMore();
}
} else {
adapter.pauseMore();
Toast.makeText(activity, "网络不可用", Toast.LENGTH_SHORT).show();
}
} @Override
public void onMoreClick() { }
}); //设置没有数据
adapter.setNoMore(R.layout.view_recycle_no_more, new RecyclerArrayAdapter.OnNoMoreListener() {
@Override
public void onNoMoreShow() {
if (NetworkUtils.isConnected()) {
adapter.resumeMore();
} else {
Toast.makeText(activity, "网络不可用", Toast.LENGTH_SHORT).show();
}
} @Override
public void onNoMoreClick() {
if (NetworkUtils.isConnected()) {
adapter.resumeMore();
} else {
Toast.makeText(activity, "网络不可用", Toast.LENGTH_SHORT).show();
}
}
}); //设置错误
adapter.setError(R.layout.view_recycle_error, new RecyclerArrayAdapter.OnErrorListener() {
@Override
public void onErrorShow() {
adapter.resumeMore();
} @Override
public void onErrorClick() {
adapter.resumeMore();
}
}); //刷新
recyclerView.setRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
if (NetworkUtils.isConnected()) {
getTopMovieData(mType , 0 , 30);
} else {
recyclerView.setRefreshing(false);
Toast.makeText(activity, "网络不可用", Toast.LENGTH_SHORT).show();
}
}
});

YCRefreshView-自定义支持上拉加载更多,下拉刷新。。。的更多相关文章

  1. android ListView上拉加载更多 下拉刷新功能实现(采用pull-to-refresh)

    Android实现上拉加载更多功能以及下拉刷新功能, 采用了目前比较火的PullToRefresh,他是目前实现比较好的下拉刷新的类库. 目前他支持的控件有:ListView, ExpandableL ...

  2. mui的上拉加载更多 下拉刷新 自己封装的demo

    ----------------------------------------------- 这是一个非常呆萌的程序妹子,深夜码的丑代码------------------------------- ...

  3. mui实现分页上拉加载更多 下拉刷新数据的简单实现 移动端下拉上拉

    空下来把mui上拉加载更多,下拉刷新数据做了一个简单的实现,希望可以帮助到需要的朋友 demo项目的结构 <!DOCTYPE html> <html> <head> ...

  4. android 支持上拉加载,下拉刷新的列表控件SwipeRefreshLayout的二次封装

    上拉加载,下拉刷新的列表控件,大家一定都封装过,或者使用过 源代码,我会在最后贴出来 这篇代码主要是为了解决两个问题 1.滑动冲突得问题 2.listview无数据时,无数据布局的展示问题 下方列出的 ...

  5. 使用mescroll实现上拉加载与下拉刷新

    现在上拉加载与下拉刷新几乎已经是移动端必备功能之一了,自己实现一个太麻烦,但是好用的插件又非常少.之前看到网上很多人都在用iScroll,于是也尝试用它做了几个DEMO,但或多或少都有一些问题,比如这 ...

  6. 你必须了解的RecyclerView的五大开源项目-解决上拉加载、下拉刷新和添加Header、Footer等问题

    前段时间做项目由于采用的MD设计,所以必须要使用RecyclerView全面代替ListView.但是开发中遇到了需要实现RecyclerView上拉加载.下拉刷新和添加Header以及Footer等 ...

  7. 移动端上拉加载,下拉刷新效果Demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

  9. vue.js移动端app实战4:上拉加载以及下拉刷新

    上拉加载以及下拉刷新都是移动端很常见的功能,在搜索或者一些分类列表页面常常会用到. 跟横向滚动一样,我们还是采用better-scroll这个库来实现.由于better已经更新了新的版本,之前是0.几 ...

  10. vue-scroller实现vue单页面的上拉加载和下拉刷新问题

    在vue中如何简单的实现页面的上拉加载和下拉刷新,在这里我推荐使用vue-scrolle插件. vue-scrolle的基本使用方法: 1.下载 npm i vue-scroller -D 2.导包 ...

随机推荐

  1. 执行npm install 时会报 operation not permitted,unlink......错

    问题现象:在我这项目目录中执行这命令就会报这个错. 问题原因: 后来查了查,说是 npm 5.4.0版本确实会有这个问题. https://github.com/npm/npm/issues/1828 ...

  2. WSH的SpecialFolders对像

    前面我做过一个VBS,来实现添加网站快捷方式到开始菜单,当然你也可以添加到别的地方,这就是那个对像的一些用法返回 SpecialFolders 对象(特殊文件夹集). object.SpecialFo ...

  3. JS调用百度地图。

    必要条件:先注册百度开发者账号,然后申请调用地图的密钥(AK). 测试demo: 说明:百度开发平台上有很多demo,如下图:

  4. 【研究】Tomcat远程代码执行漏洞(CVE-2017-12615)

    一.Tomcat远程代码执行漏洞(CVE-2017-12615) 1.1       实验环境 操作机:windows 10                         IP:192.168.1. ...

  5. python 可迭代对象,迭代器和生成器,lambda表达式

    分页查找 #5.随意写一个20行以上的文件(divmod) # 运行程序,先将内容读到内存中,用列表存储. # l = [] # 提示:一共有多少页 # 接收用户输入页码,每页5条,仅输出当页的内容 ...

  6. C++ GUI Qt4编程(12)-6.1FindFileDialog

    1. 主要介绍了QGridLayout, QHBoxLayout, QVBoxLayout3种布局管理器的使用方法. 2. 在linux中,继承自QDialog的对话框,没有最大化.最小化.关闭按钮, ...

  7. PIE SDK打开Micaps数据

    1. 功能简介 Micaps数据是气象信息处理和天气预报制作中的一种气象数据格式.其包含多种气象信息产品(地面常规气象观测数据产品.高空常规气象观测数据产品等),目前Micaps数据被Micaps软件 ...

  8. PIE SDK图像镜像

      1.算法功能简介 图像镜像可生成图像的水平镜像.垂直镜像和水平垂直镜像.水平镜像是图像以垂直中线为轴, 将图像左右半部对调:垂直镜像是图像以水平中线为轴,将图像上下半部对调. PIE支持算法功能的 ...

  9. ActiveMQ的单节点和集群部署

    平安寿险消息队列用的是ActiveMQ. 单节点部署: 下载解压后,直接cd到bin目录,用activemq start命令就可启动activemq服务端了. ActiveMQ默认采用61616端口提 ...

  10. How to Setup a Private Proxy Server on EC2 in Under 10 Minutes

    How to Setup a Private Proxy Server on EC2 in Under 10 Minutes I’ve been slacking a bit with regular ...