快速集成Android实现下拉刷新上拉加载更多
本文实现一分钟快速集成BGARefreshLayout下拉刷新和上拉加载的功能.
这个是简单单功能的集成方法,详细BGARefreshLayout请到github中的demo,这只是我简化版快速集成.
重要的代码实现如下:
MainActivity类:
public class MainActivity extends AppCompatActivity implements BGARefreshLayout.BGARefreshLayoutDelegate{BGARefreshLayout mRefreshLayout;ListView mLv;List<String> datas;private Handler mHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);switch (msg.what) {case 1:Toast.makeText(MainActivity.this, "下拉刷新完毕!", Toast.LENGTH_SHORT).show();mRefreshLayout.endRefreshing();break;default:Toast.makeText(MainActivity.this, "加载更多完毕!", Toast.LENGTH_SHORT).show();datas.add("添加数据");mRefreshLayout.endLoadingMore();break;}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mRefreshLayout = (BGARefreshLayout) findViewById(R.id.refresh_layout);mLv = (ListView) findViewById(R.id.lv);mAdddatas();//自定义数据initBGARefreshLayout();}public void mAdddatas(){datas = new ArrayList<>();for (int i = 'A'; i < 'z'; i++) {datas.add("使用的假数据:---->" + (char) i);}mLv.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, datas));}public void initBGARefreshLayout(){// 为BGARefreshLayout设置代理mRefreshLayout.setDelegate(this);// 设置下拉刷新和上拉加载更多的风格 参数1:应用程序上下文,参数2:是否具有上拉加载更多功能BGANormalRefreshViewHolder refreshViewHolder = new BGANormalRefreshViewHolder(this, true);refreshViewHolder.setPullDownRefreshText("往下拉!");refreshViewHolder.setRefreshingText("正在刷!");refreshViewHolder.setReleaseRefreshText("放开我!");// 为了增加下拉刷新头部和加载更多的通用性,提供了以下可选配置选项 -------------START// 设置正在加载更多时不显示加载更多控件// mRefreshLayout.setIsShowLoadingMoreView(false);// 设置正在加载更多时的文本refreshViewHolder.setLoadingMoreText("数量变多");// 设置整个加载更多控件的背景颜色资源id// refreshViewHolder.setLoadMoreBackgroundColorRes(R.color.colorPrimary);// 设置整个加载更多控件的背景drawable资源id//refreshViewHolder.setLoadMoreBackgroundDrawableRes(loadMoreBackgroundDrawableRes);// 设置下拉刷新控件的背景颜色资源id// refreshViewHolder.setRefreshViewBackgroundColorRes(refreshViewBackgroundColorRes);// 设置下拉刷新控件的背景drawable资源id// refreshViewHolder.setRefreshViewBackgroundDrawableRes(R.mipmap.ic_launcher);// 设置自定义头部视图(也可以不用设置) 参数1:自定义头部视图(例如广告位), 参数2:上拉加载更多是否可用
// View mheader=getLayoutInflater().inflate(R.layout.header,mRefreshLayout,false);
// mRefreshLayout.setCustomHeaderView(mheader,true);// 可选配置 -------------END// 设置下拉刷新和上拉加载更多的风格mRefreshLayout.setRefreshViewHolder(refreshViewHolder);}@Overridepublic void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) {mHandler.sendEmptyMessageDelayed(1, 3000);}@Overridepublic boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) {mHandler.sendEmptyMessageDelayed(2, 3000);return true;}}
这个是最简单的xml添加点击事件(正规开发不用,看上去很简明)按钮刷新方法:
// public void bottom1(View view){
// mRefreshLayout.beginLoadingMore();//按钮点击开始加载
// }
// public void bottom2(View view){
// mRefreshLayout.beginRefreshing();//按钮点击开始刷新
// }
activity_main.xml类:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent">
<cn.bingoogolapple.refreshlayout.BGARefreshLayoutandroid:layout_above="@+id/bottomlayout"android:id="@+id/refresh_layout"android:layout_width="match_parent"android:layout_height="match_parent"><ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"/>
</cn.bingoogolapple.refreshlayout.BGARefreshLayout><LinearLayoutandroid:id="@+id/bottomlayout"android:layout_alignParentBottom="true"android:layout_width="match_parent"android:orientation="horizontal"android:background="#f0f"android:layout_height="30dp"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="下面的栏目"/></LinearLayout>
</RelativeLayout>
要实现功能还要依赖library库,可以自己依赖BGA的库.
链接:http://pan.baidu.com/s/1qY2AxPE
快速集成Android实现下拉刷新上拉加载更多相关推荐
- uni-app下拉刷新触底加载更多
首先在pages.json 配置文件中配置 "enablePullDownRefresh": true 需要在哪用加载就配置在路由的style里 两个事件 //下拉刷新 o ...
- recyclerview的数据刷新(下拉刷新和自动加载更多)以及添加提示语(例如:“数据已加载完毕”)
下拉加载更多的核心是SwipeRefreshLayout搭配Recyclerview进行使用.布局为 <android.support.v4.widget.SwipeRefreshLayout ...
- Android 自定义 ListView 上下拉动“刷新最新”和“加载更多”歌曲列表
本文内容 环境 测试数据 项目结构 演示 参考资料 本文演示,上拉刷新最新的歌曲列表,和下拉加载更多的歌曲列表.所谓"刷新最新"和"加载更多"是指日期.演示代码 ...
- Android ListView 实现下拉刷新上拉加载
转载请注明出处:http://blog.csdn.net/allen315410/article/details/39965327 1.简介 无疑,在Android开发中,ListView是使用非常频 ...
- android listview下拉刷新动画,android 安卓 listview 支持下拉刷新 上拉加载更多
[1]重写listViewimport java.text.SimpleDateFormat; import java.util.Date; import com.example.testdddlea ...
- Android 下拉刷新上拉载入 多种应用场景 超级大放送(上)
转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/47707017 关于Android下拉刷新上拉载入,网上的Demo太多太多了,这 ...
- android 列表上拉加载更多,Android 下拉刷新,上拉加载更多控件–支持ListView,GridView和ScrollView...
麦洛遇到这样一个需求,实现类似于IOS下拉刷新,上拉加载更多的控件.麦洛google,baidu了一番,网上有不少实现,比较常见的是国外牛人的实现,不过国外的实现基本上都是扩展于ListView,所以 ...
- Android 下拉刷新上拉加载可以左右滑动
下面是下拉刷新上拉加载可以左右滑动的实例,下面是效果图: GitHub 下载地址:https://github.com/wuqingsen/MySlidingNested CSDN 下载地址:http ...
- Android自定义控件实战——实现仿IOS下拉刷新上拉加载 PullToRefreshLayout
下拉刷新控件,网上有很多版本,有自定义Layout布局的,也有封装控件的,各种实现方式的都有.但是很少有人告诉你具体如何实现的,今天我们就来一步步实现自己封装的 PullToRefreshLayout ...
- Android 下拉刷新上拉加载 多种应用场景 超级大放送(上)
转载请标明原文地址:http://blog.csdn.net/yalinfendou/article/details/47707017 关于Android下拉刷新上拉加载,网上的Demo太多太多了,这 ...
最新文章
- Java基于Swing和Netty仿QQ界面聊天小项目
- Deploying Windows Mobile 6 with Exchange Server 2007 白皮书
- 服务器端与客户端TCP连接入门(三:多线程)
- 【摄影测量原理】第三章:双像立体测图
- java弹弹球实验报告_Java弹球游戏实验报告—chen
- [opencv] 图像线性混合
- oracle实例包括哪几部分,数据库的实例组成部分及作用是什么?一个oracle数据库可以有多个实例吗?...
- 最近做的几道笔试题,很有意思
- 尚学堂的J2EE教程免费下载(非常经典的JAVA教程)
- 分页显示java_java分页实现 怎样用java实现分页显示?
- java web音乐播放器_[JavaWeb]网页音乐播放器
- 001 Joiner
- IDEA连接数据库后在数据表里添加外键的两种方式
- 使用python建立一个网站:笔记3 建立自己网站主页
- Python爬虫lxml解析实战
- Python 爬虫问卷星填写
- 电脑游戏计算机哪年发明的,电子计算机发明于哪一年
- 加密芯片介绍 加密芯片选择(加密IC) 加密芯片原理
- 血氧仪方案功能及使用方法介绍
- SQL根据出生日期计算年龄的两种算法
热门文章
- 厦门高考成绩查询2021,2021厦门市地区高考成绩排名查询,厦门市高考各高中成绩喜报榜单...
- 4.3检测CSRF漏洞
- su命令的隐患——用户提权
- SyncToy 文件同步工具的定时同步方案(不使用第三方软件)
- 17 CoCos Creator-Node Tree 层级管理器
- 中级微观经济学:Chap 35 外部效应
- 完全卸载Office 2016 for Mac教程
- ps 转html node,Node.js模拟发起http请求从异步转同步的5种方法
- 洗衣机测试点 思维导图
- 动态IP和静态IP有什么区别?