IXListView的自我分析一
XListView是一个很不错的用来刷新和加载的控件,下拉刷新和上拉加载。目前这个控件已经没有更新,这个不重要,重要的是它确实还不错,之后可能一直有人在用。
android没有提供原生的这类控件,需要我们自己改造实现它。listview是一个列表控件,可以上下拖动,但是到了第一个和最后一个就拖不动了,到极限了,不过仔细观察,有些可能看到一点泛着蓝光?的点汇聚,说明还可以拉,至于拉出来是说明那需要用户自定义。抱着这种思维,listview提供了addHeaderView和addFooterView者两个方法,这个是在listview层面上得方法,有时候可以和adapter上面getview的方法互相比较,不同情况下选用。在这里做刷新和加载我们就选用这种方法了。加载上面控件,当然是刷新和加载需要显示给用户的控件了。X的作者用了一个LinearLayout嵌上一个relative,然后在relative加了个属性tools:ignore="uselessParent"
(这个可以忽略编译器的提示)。两个控件的布局很简单,一个箭头图片加上两个textview文字控件,考虑刷新需要的三种状态,下拉刷新、释放刷新、正在刷新,当用户去拖动listview的时候,当拖动header头部控件离开屏幕最顶端的距离到等于了header控件的自身高度的时候,那么这个状态可以说是下拉刷新状态;当用户还在往下拖动header控件的时候,其高度已经超过了自身高度的时候,直到用户在离屏幕顶端高度还是超过自身高度的时候松手,这个状态都可以说是释放刷新状态;从释放刷新状态松手,那么就可以转化为正在刷新状态;一旦刷新完成,调用了网络接口完成自身数据更新,那么就可以把正在刷新的状态设置为隐藏状态,即把这个控件隐藏掉,变成用户最开始没有去拉listview看不到的时候的样子。(待续)
IXListView的自我分析一的更多相关文章
- SWOT自我分析
个人信息: 大三学生 二本大学 软件工程专业 一:SWOT自我分析 Strenghs(优势): 1.有着良好的作息习惯,坚持锻炼 2.专注力强,能沉下心来学习 3.有着强烈的危机意思,明白不仅则退的道 ...
- 自我分析-Spring IOC
Spring IOC容器实现原理大致是容器(Map)+反射(Java反射和cglib).Spring提供丰富的ApplicationContext.以FileSystemXmlApplicationC ...
- Java中获取路径的方法_自我分析
就目前的我来说最常用的两种获取路径的方法是 class.getRecource(filename) 和 class.getclassloader.getRecource(filename) 这两者的 ...
- JD m站自我解析理解
第一步:从首页着手 文档部分:应用的是H5默认文档开头 即:<!DOCUMENT html> head部分:放了一些相关的JS,title描述,然后就是meta表述了.比较有参考的如下 & ...
- 一个IT人的成长路
毕业四年多了,来深圳三年多了,经历了刚毕业的懵懂少年,成长为现在的成熟稳重青年.职场上,从刚毕业的小白,成长为现在可以成熟应对各种事情的老司机.经历过从初级研发工程师,到中级研发工程师,到高级研发工程 ...
- 批判性思维——Asking The Right Questions
我们生活在一个纷繁复杂的数字世界中,每天都在信息海洋中遨游.如果不想被其淹没,继而成为别人思想的傀儡,就有必要对你接受的信息进行批判.筛选,自己决定该相信什么不该相信什么,进而形成自己的观点,而不是一 ...
- ASP.NET MVC Html.Partial/Html.RenderPartial/Html.Action/Html.RenderAction区别
1. @Html.Raw() 方法输出带有html标签的字符串: <div style="margin:10px 0px 0px;border:1px;border-color:red ...
- MMO之禅(三)职业能力
MMO之禅(三)职业能力 --技术九层阶梯 Zephyr 201304 有了精神,我们还需要实际的行动. 到底需要什么能力?自我分析,窃以为为有九层,无所谓高低,因为每一层都需要不断地砥砺,编程,本身 ...
- The Zen Programmer (zhuan)
http://blog.csdn.NET/marksinoberg/article/details/52460725 ***************************************** ...
随机推荐
- 便利的html5 之 required、number 、pattern
html5对于表单验证提供了很多自识别功能,非常的便利. 看代码, <!--head start--> <include file="Public:head" / ...
- Oracle core05_事务和一致性
事务和一致性 oracle的redo和undo机制保证了数据库的ACID特性,以及高性能和可恢复特性. redo的数据是记录着数据块变更的顺序的正向数据流, commit时,保证redo同步持久化,保 ...
- 用 Eclipse 开发 Android 应用程序
转自:http://www.apkbus.com/android-13828-1-1.html 开始之前 本教程介绍如何在 Eclipse 环境中进行 Android 应用程序开发,包括两个示例应用程 ...
- 动态规划(DP计数):HDU 5117 Fluorescent
Matt, a famous adventurer who once defeated a pack of dire wolves alone, found a lost court. Matt fi ...
- Linux之read用法
转载转载:www.cnblogs.com/iloveyoucc/archive/2012/04/16/2451328.html 1.基本读取 #!/bin/bash echo -n "Ent ...
- 《C语言程序设计现代方法》第2章 编程题
7 编写一个程序,要求用户输入一个美金数量,然后显示出如何使用最少的20美元.10美元.5美元和1美元来付款. 提示:将付款金额除以20,确定20美元的数量,然后从付款金额中减去20美元的总金额.对其 ...
- [App]Taste VS2015 && Android Studio
逆水飞 尝试进行各种Android开发工具的安装以及大致流程对比 几个疑惑的地方 1)根据SDK的描述,应该是一个新版本的推出就有对应的包里面包含多个文件那么对于:SDK Platform.APIs. ...
- What is happening in Crockford's object creation technique?
What is happening in Crockford's object creation technique? http://stackoverflow.com/questions/27660 ...
- ACM2037
这题采用的是贪心算法,暂不会.
- How do I use a host name to look up an IP address?
The InetAddress class can be used to perform Domain Name Server (DNS) lookups. For example, you can ...