android 下滑,Android实现下滑和上滑事件
做过开发的对于下滑刷新与上滑加载都一定不陌生,因为我们在很多时候都会使用到,那对对于这个效果如何实现呢?相信难道过很多小伙伴,今天我就带领大家一道通过第三方组件快速完成上述效果的实现,保准每位小伙伴都能快速上手。首先为大家分享一下效果图:
下滑刷新:
上滑加载:
第三方资源下载地址: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实现下滑和上滑事件相关推荐
- Android 如何屏蔽系统下滑显示菜单栏
前言:在日常开发安卓应用的过程中,是不是遇到过这样的需求:禁用系统的下滑菜单栏,下面就来实现下这个需求. 原理分析:创建一个高度和状态栏一样高的透明大小的布局 第一步:获取状态栏的高度 private ...
- Android中三种超实用的滑屏方式汇总(ViewPager、ViewFlipper、ViewFlow)
现如今主流的Android应用中,都少不了左右滑动滚屏这项功能,(貌似现在好多人使用智能机都习惯性的有事没事的左右滑屏,也不知道在干什么...嘿嘿),由于前段时间项目的需要,所以也对其研究了一下,总的 ...
- Android 中Touch(触屏)事件传递机制
版本:2.0 日期:2014.3.21 2014.3.29 版权:© 2014 kince 转载注明出处 一.基本概念 在实际开发中,经常会遇到与触屏事件有关的问题,最典型的一个就是滑动冲突.比如在使 ...
- 仿Android美团打车司机端右滑接单效果
当前项目需要使用该效果,但是网上能找到的大多是封装好的RecyclerView的item. 本文参考 https://blog.csdn.net/lilu_leo/article/details ...
- android 菜单 功能键,Android交互体验必知:功能按键事件
[51CTO独家译文]本文为翻译自外文网站tutsplus.com的<Android交互体验必知:功能按键事件>.以下为全部译文: 开始学习 每一种Android设备一般都会提供除字母和数 ...
- Android SubsamplingScaleImageView(subsampling-scale-image-view)单双击长按事件【系列2】
Android SubsamplingScaleImageView(subsampling-scale-image-view)单双击长按事件[系列2] 附录参考文章1介绍了Android Subsam ...
- android左右滑动fragment,Android基于ViewPager+Fragment实现左右滑屏效果的方法
本文实例讲述了Android基于ViewPager+Fragment实现左右滑屏效果的方法.分享给大家供大家参考,具体如下: 1.xml布局模板 android:id="@+id/local ...
- Android 使用 sendevent 模拟鼠标和键盘事件
Android 使用 sendevent 模拟鼠标和键盘事件 模拟原理是对驱动发送消息,就是linux里面的input子系统. 命令格式: sendevent /dev/input/eventX [t ...
- android通知栏的点击事件,Android监听消息通知栏点击事件
Android监听消息通知栏点击事件 使用BroadCastReceiver 1 新建一个NotificationClickReceiver 类,并且在清单文件中注册!! public class N ...
最新文章
- opencv_contrib编译失败解决方法
- Linux:运行级别,root密码重置,救援模式,安装图形化界面
- NIST发布企业移动应用安全建议参考指南
- 重拾强化学习的核心概念_强化学习的核心概念
- C/C++学习笔记:算法知识之平衡树学习笔记,收藏一波吧!
- 博客SEO文字转链接工具
- ubuntu下mysql5.7安装教程_Ubuntu 16.04 上安装 MySQL 5.7 教程
- JSP提交中文乱码的解决
- 常用测试设计方法--其他
- 【差分算法入门】例题讲解(代码逐句分析)
- 有限元分析基础操作(ANSYS)
- mysql ocp 题库部分解析
- 利用EXCEL对数据进行比对,以及提取有效数据
- 《c语言南开100题》,二级C语言南开100题 免费
- Materials Studio教程(中科大)
- springboot 集成quartz带数据库持久化
- 三村合建水厂问题研究
- 爱的魔力转圈圈-流水灯电路原理详解-PCB系列教程4-1
- 通过ScrollView实现滚动效果
- 酶促反应动力学_酶促反应动力学中,米氏方程怎么推导出来的?具体怎么应用?...
热门文章
- 机器学习——前馈神经网络
- 美国WH在明尼苏达州最大光伏阵列完工
- Swift学习Day01(Object_c 与Swift的相互调用 )
- 四层负载均衡和七层负载均衡的区别
- ******中最常用的网络命令
- 15/100. Climbing Stairs
- WIN SERVER8更改MYSQL的datadir后,数据库启动不起来
- JSON.parse使用 之 Unexpected token o in JSON at position 1 报错原因
- Hadoop(一)之初识大数据与Hadoop
- 软件工程启程篇章:C#和四则运算生成与运算