做过开发的对于下滑刷新与上滑加载都一定不陌生,因为我们在很多时候都会使用到,那对对于这个效果如何实现呢?相信难道过很多小伙伴,今天我就带领大家一道通过第三方组件快速完成上述效果的实现,保准每位小伙伴都能快速上手。首先为大家分享一下效果图:

下滑刷新:

上滑加载:

第三方资源下载地址:https://github.com/Maxwin-z/XListView-Android,下载好资源后,我们开始进行设计实现:

我们把下载好的包解压好,然后把包里面的一下六个文件拷贝到工程中六个文件分别为:

我们的Activity:

public class MainActivity extends Activity implementsIXListViewListener{privateXListView mListView;private ArrayAdaptermAdapter;private ArrayList items = new ArrayList();privateHandler mHandler;private int start = 0;//数据起始位置

private static int refreshCnt = 0;//第几次刷新

private Date date = newDate();private SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");//设置更新时间的格式

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

geneItems();

mListView=(XListView) findViewById(R.id.xListView);

mListView.setPullLoadEnable(true);//设置下拉刷新//mListView.setPullLoadEnable(false);//设置不能进行加载更多操作//mListView.setPullRefreshEnable(false);//设置不能进行刷新操作

mAdapter= new ArrayAdapter(this, R.layout.xlist_item, items);

mListView.setAdapter(mAdapter);

mListView.setRefreshTime(format.format(date));//设置更新时间

mListView.setXListViewListener(this);

mHandler= newHandler();

}private voidgeneItems() {for (int i = 0; i != 20; ++i) {

items.add("refresh cnt " + (++start));

}

}private voidonLoad() {

mListView.stopRefresh();

mListView.stopLoadMore();

date= newDate();

mListView.setRefreshTime(format.format(date));//设置更新时间

}//下滑刷新

@Overridepublic voidonRefresh() {

mHandler.postDelayed(newRunnable() {

@Overridepublic voidrun() {

start= ++refreshCnt;

items.clear();

MainActivity.this.geneItems();

mAdapter.notifyDataSetChanged();

MainActivity.this.onLoad();

}

},2000);

}//上滑加载

@Overridepublic voidonLoadMore() {

mHandler.postDelayed(newRunnable() {

@Overridepublic voidrun() {

MainActivity.this.geneItems();

mAdapter.notifyDataSetChanged();

MainActivity.this.onLoad();

}

},2000);

}

}

主布局文件action_main.xml:

android:id="@+id/xListView"android:layout_width="fill_parent"android:layout_height="fill_parent"android:cacheColorHint="#00000000">

好了我们的工程已经完成,大家可以运行操作一下。

原文:http://www.cnblogs.com/AndroidJotting/p/4477752.html

android 下滑,Android实现下滑和上滑事件相关推荐

  1. Android 如何屏蔽系统下滑显示菜单栏

    前言:在日常开发安卓应用的过程中,是不是遇到过这样的需求:禁用系统的下滑菜单栏,下面就来实现下这个需求. 原理分析:创建一个高度和状态栏一样高的透明大小的布局 第一步:获取状态栏的高度 private ...

  2. Android中三种超实用的滑屏方式汇总(ViewPager、ViewFlipper、ViewFlow)

    现如今主流的Android应用中,都少不了左右滑动滚屏这项功能,(貌似现在好多人使用智能机都习惯性的有事没事的左右滑屏,也不知道在干什么...嘿嘿),由于前段时间项目的需要,所以也对其研究了一下,总的 ...

  3. Android 中Touch(触屏)事件传递机制

    版本:2.0 日期:2014.3.21 2014.3.29 版权:© 2014 kince 转载注明出处 一.基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突.比如在使 ...

  4. 仿Android美团打车司机端右滑接单效果

    当前项目需要使用该效果,但是网上能找到的大多是封装好的RecyclerView的item. 本文参考    https://blog.csdn.net/lilu_leo/article/details ...

  5. android 菜单 功能键,Android交互体验必知:功能按键事件

    [51CTO独家译文]本文为翻译自外文网站tutsplus.com的<Android交互体验必知:功能按键事件>.以下为全部译文: 开始学习 每一种Android设备一般都会提供除字母和数 ...

  6. Android SubsamplingScaleImageView(subsampling-scale-image-view)单双击长按事件【系列2】

    Android SubsamplingScaleImageView(subsampling-scale-image-view)单双击长按事件[系列2] 附录参考文章1介绍了Android Subsam ...

  7. android左右滑动fragment,Android基于ViewPager+Fragment实现左右滑屏效果的方法

    本文实例讲述了Android基于ViewPager+Fragment实现左右滑屏效果的方法.分享给大家供大家参考,具体如下: 1.xml布局模板 android:id="@+id/local ...

  8. Android 使用 sendevent 模拟鼠标和键盘事件

    Android 使用 sendevent 模拟鼠标和键盘事件 模拟原理是对驱动发送消息,就是linux里面的input子系统. 命令格式: sendevent /dev/input/eventX [t ...

  9. android通知栏的点击事件,Android监听消息通知栏点击事件

    Android监听消息通知栏点击事件 使用BroadCastReceiver 1 新建一个NotificationClickReceiver 类,并且在清单文件中注册!! public class N ...

最新文章

  1. opencv_contrib编译失败解决方法
  2. Linux:运行级别,root密码重置,救援模式,安装图形化界面
  3. NIST发布企业移动应用安全建议参考指南
  4. 重拾强化学习的核心概念_强化学习的核心概念
  5. C/C++学习笔记:算法知识之平衡树学习笔记,收藏一波吧!
  6. 博客SEO文字转链接工具
  7. ubuntu下mysql5.7安装教程_Ubuntu 16.04 上安装 MySQL 5.7 教程
  8. JSP提交中文乱码的解决
  9. 常用测试设计方法--其他
  10. 【差分算法入门】例题讲解(代码逐句分析)
  11. 有限元分析基础操作(ANSYS)
  12. mysql ocp 题库部分解析
  13. 利用EXCEL对数据进行比对,以及提取有效数据
  14. 《c语言南开100题》,二级C语言南开100题 免费
  15. Materials Studio教程(中科大)
  16. springboot 集成quartz带数据库持久化
  17. 三村合建水厂问题研究
  18. 爱的魔力转圈圈-流水灯电路原理详解-PCB系列教程4-1
  19. 通过ScrollView实现滚动效果
  20. 酶促反应动力学_酶促反应动力学中,米氏方程怎么推导出来的?具体怎么应用?...

热门文章

  1. 机器学习——前馈神经网络
  2. 美国WH在明尼苏达州最大光伏阵列完工
  3. Swift学习Day01(Object_c 与Swift的相互调用 )
  4. 四层负载均衡和七层负载均衡的区别
  5. ******中最常用的网络命令
  6. 15/100. Climbing Stairs
  7. WIN SERVER8更改MYSQL的datadir后,数据库启动不起来
  8. JSON.parse使用 之 Unexpected token o in JSON at position 1 报错原因
  9. Hadoop(一)之初识大数据与Hadoop
  10. 软件工程启程篇章:C#和四则运算生成与运算