BGARefreshLayout的简单使用
来源:互联网 发布:nginx http error 503 编辑:程序博客网 时间:2024/06/06 03:09
一个新的上拉下拉刷新的库工程
需要依赖,github可以下载
compile 'com.android.support:recyclerview-v7:24.2.1'compile 'com.nineoldandroids:library:2.4.0'
1.将内容用BGARefreshLayout包裹
(高度设置为权重是因为上拉加载的时候必须设置设置这个权重,)
<cn.bingoogolapple.refreshlayout.BGARefreshLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/bgarefresh"> <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_gravity="center" android:text="可以放任何控件" android:id="@+id/text"/> </cn.bingoogolapple.refreshlayout.BGARefreshLayout>
2.设置头布局就是刷新的样式
//设置头部特效参数1 上下文 参数2 是否支持加载更多 BGANormalRefreshViewHolder bgaNormalRefreshViewHolder = new BGANormalRefreshViewHolder(this, true); bgaRefreshLayout.setRefreshViewHolder(bgaNormalRefreshViewHolder);
3.处理刷新的逻辑
//处理刷新的逻辑,也可以说是监听,也可以说是回调,反正就是一个下拉和上拉的逻辑在这里 bgaRefreshLayout.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() { @Override public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { textView.setText(new Date().toLocaleString()); //关闭刷新的状态 bgaRefreshLayout.endRefreshing(); } //上拉 return true 才会有更多页面,默认是false @Override public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { textView.setText("加载更多"+new Date().toLocaleString()); return true; } });
可以写一个工具类来替换下拉刷新的样式
public class HeaderUtil { //设置旋转箭头的特效 public static BGARefreshViewHolder getNormalHeader(Context context ) { return new BGANormalRefreshViewHolder(context, true); }// 获取的是粘性效果 public static BGARefreshViewHolder getStickyHeader(Context context) { BGAStickinessRefreshViewHolder holder = new BGAStickinessRefreshViewHolder(context, true); holder.setRotateImage(R.mipmap.bga_refresh_stickiness); holder.setStickinessColor(R.color.colorAccent); return holder; } public static BGARefreshViewHolder getWaveHeader(Context context ){ BGAWaveStyleRefreshViewHolder header=new BGAWaveStyleRefreshViewHolder(context,true);//1.上下文 2.是否支持加载更多 //水波颜色 header.setUltimateColor(R.color.colorAccent); //图片 header.setOriginalImage(R.mipmap.bga_refresh_moooc); return null; } public static BGARefreshViewHolder getMeituanHeader(Context context){ BGAMeiTuanRefreshViewHolder holder = new BGAMeiTuanRefreshViewHolder(context, true); //设置小幅度拉动图片 holder.setPullDownImageResource(R.mipmap.bga_refresh_mt_pull_down); //设置下拉 holder.setChangeToReleaseRefreshAnimResId(R.drawable.pulling); //设置刷新时的图片,我这里采用的是帧动画 holder.setRefreshingAnimResId(R.drawable.refreshing); return holder; }}
1 0
- BGARefreshLayout的简单使用
- BGARefreshLayout-Android
- BGARefreshLayout与ListView结合使用实现上拉刷新和下拉加载更多
- BGARefreshLayout 瀑布流没到滑动到第一个就下拉刷新的bug
- BGARefreshLayout-Android 使用方法
- 简单易懂的使用
- ant的简单使用
- Log4j的简单使用
- TCPDUMP的简单使用
- IComparer的简单使用
- TreeView的简单使用
- CListCtrl的简单使用
- Rose的简单使用
- OpenSSL的简单使用
- CInternetSession的简单使用
- 标签的简单使用
- 触发器的简单使用
- nekohtml的简单使用
- CHAPTER1 INTRODUCTION -- Deep Learning Book Reading notes
- 第4章 Hadoop 2.6 Single Node Cluster 安装指令
- 适配器模式(Adapter Pattern)的用法和示例demo
- 你不需要注释
- [链表]单链表中重复元素的删除
- BGARefreshLayout的简单使用
- 这个数据存储方式可以知道任意一个点的最近四个点
- 设计模式之5 - 单例模式Singleton
- ER图,数据建模与数据字典
- JVM学习之GC常用算法
- 编一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,要保证汉字不被截取半个,如“我ABC”,4,应该截取“我AB”,输入“我ABC汉DEF”,6,应该输出“我ABC”,
- NOIP2013 senior block
- PAT乙级1030
- 数据中设计中的范式与反范式