XListView是一个很不错的用来刷新和加载的控件,下拉刷新和上拉加载。目前这个控件已经没有更新,这个不重要,重要的是它确实还不错,之后可能一直有人在用。

  android没有提供原生的这类控件,需要我们自己改造实现它。listview是一个列表控件,可以上下拖动,但是到了第一个和最后一个就拖不动了,到极限了,不过仔细观察,有些可能看到一点泛着蓝光?的点汇聚,说明还可以拉,至于拉出来是说明那需要用户自定义。抱着这种思维,listview提供了addHeaderView和addFooterView者两个方法,这个是在listview层面上得方法,有时候可以和adapter上面getview的方法互相比较,不同情况下选用。在这里做刷新和加载我们就选用这种方法了。加载上面控件,当然是刷新和加载需要显示给用户的控件了。X的作者用了一个LinearLayout嵌上一个relative,然后在relative加了个属性tools:ignore="uselessParent"

(这个可以忽略编译器的提示)。两个控件的布局很简单,一个箭头图片加上两个textview文字控件,考虑刷新需要的三种状态,下拉刷新、释放刷新、正在刷新,当用户去拖动listview的时候,当拖动header头部控件离开屏幕最顶端的距离到等于了header控件的自身高度的时候,那么这个状态可以说是下拉刷新状态;当用户还在往下拖动header控件的时候,其高度已经超过了自身高度的时候,直到用户在离屏幕顶端高度还是超过自身高度的时候松手,这个状态都可以说是释放刷新状态;从释放刷新状态松手,那么就可以转化为正在刷新状态;一旦刷新完成,调用了网络接口完成自身数据更新,那么就可以把正在刷新的状态设置为隐藏状态,即把这个控件隐藏掉,变成用户最开始没有去拉listview看不到的时候的样子。(待续)

  

  

IXListView的自我分析一的更多相关文章

  1. SWOT自我分析

    个人信息: 大三学生 二本大学 软件工程专业 一:SWOT自我分析 Strenghs(优势): 1.有着良好的作息习惯,坚持锻炼 2.专注力强,能沉下心来学习 3.有着强烈的危机意思,明白不仅则退的道 ...

  2. 自我分析-Spring IOC

    Spring IOC容器实现原理大致是容器(Map)+反射(Java反射和cglib).Spring提供丰富的ApplicationContext.以FileSystemXmlApplicationC ...

  3. Java中获取路径的方法_自我分析

    就目前的我来说最常用的两种获取路径的方法是  class.getRecource(filename) 和 class.getclassloader.getRecource(filename) 这两者的 ...

  4. JD m站自我解析理解

    第一步:从首页着手 文档部分:应用的是H5默认文档开头 即:<!DOCUMENT html> head部分:放了一些相关的JS,title描述,然后就是meta表述了.比较有参考的如下 & ...

  5. 一个IT人的成长路

    毕业四年多了,来深圳三年多了,经历了刚毕业的懵懂少年,成长为现在的成熟稳重青年.职场上,从刚毕业的小白,成长为现在可以成熟应对各种事情的老司机.经历过从初级研发工程师,到中级研发工程师,到高级研发工程 ...

  6. 批判性思维——Asking The Right Questions

    我们生活在一个纷繁复杂的数字世界中,每天都在信息海洋中遨游.如果不想被其淹没,继而成为别人思想的傀儡,就有必要对你接受的信息进行批判.筛选,自己决定该相信什么不该相信什么,进而形成自己的观点,而不是一 ...

  7. 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 ...

  8. MMO之禅(三)职业能力

    MMO之禅(三)职业能力 --技术九层阶梯 Zephyr 201304 有了精神,我们还需要实际的行动. 到底需要什么能力?自我分析,窃以为为有九层,无所谓高低,因为每一层都需要不断地砥砺,编程,本身 ...

  9. The Zen Programmer (zhuan)

    http://blog.csdn.NET/marksinoberg/article/details/52460725 ***************************************** ...

随机推荐

  1. 便利的html5 之 required、number 、pattern

    html5对于表单验证提供了很多自识别功能,非常的便利. 看代码, <!--head start--> <include file="Public:head" / ...

  2. Oracle core05_事务和一致性

    事务和一致性 oracle的redo和undo机制保证了数据库的ACID特性,以及高性能和可恢复特性. redo的数据是记录着数据块变更的顺序的正向数据流, commit时,保证redo同步持久化,保 ...

  3. 用 Eclipse 开发 Android 应用程序

    转自:http://www.apkbus.com/android-13828-1-1.html 开始之前 本教程介绍如何在 Eclipse 环境中进行 Android 应用程序开发,包括两个示例应用程 ...

  4. 动态规划(DP计数):HDU 5117 Fluorescent

    Matt, a famous adventurer who once defeated a pack of dire wolves alone, found a lost court. Matt fi ...

  5. Linux之read用法

    转载转载:www.cnblogs.com/iloveyoucc/archive/2012/04/16/2451328.html 1.基本读取 #!/bin/bash echo -n "Ent ...

  6. 《C语言程序设计现代方法》第2章 编程题

    7 编写一个程序,要求用户输入一个美金数量,然后显示出如何使用最少的20美元.10美元.5美元和1美元来付款. 提示:将付款金额除以20,确定20美元的数量,然后从付款金额中减去20美元的总金额.对其 ...

  7. [App]Taste VS2015 && Android Studio

    逆水飞 尝试进行各种Android开发工具的安装以及大致流程对比 几个疑惑的地方 1)根据SDK的描述,应该是一个新版本的推出就有对应的包里面包含多个文件那么对于:SDK Platform.APIs. ...

  8. What is happening in Crockford's object creation technique?

    What is happening in Crockford's object creation technique? http://stackoverflow.com/questions/27660 ...

  9. ACM2037

    这题采用的是贪心算法,暂不会.

  10. 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 ...