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. div居中鼠标悬浮显示下拉列表

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. pcDuino无显示器刷机与使用

    准备工作: pcduino : 点此购买 一个可用的并且启用了DHCP的有线路由器. 连接pcduino与路由器的网线一根. 至少1张4G microSD卡,如果内存卡不大,可以用内存卡刷内核,用u盘 ...

  3. linux .o,.a,.so文件解析

    linux下文件的类型是不依赖于其后缀名的,但一般来讲:.o,是目标文件,相当于windows中的.obj文件.so 为共享库,是shared object,用于动态连接的,和dll差不多.a为静态库 ...

  4. ARM学习笔记9——ARM汇编汇编语言中的伪指令

    ARN汇编器支持ARM伪指令,这些伪指令在汇编阶段被翻译成ARM或Thumb指令.ARM伪指令包含ADR.ADRL.MOV32和LDR.一.ADR伪指令 1.作用 ADR是小范围地址读取伪指令,基于P ...

  5. C语言宏定义函数中的“_##”的意思

    最近在看google vp9的代码的时候碰到: #define intra_pred_sized(type, size) \ void vp9_##type##_predictor_##size##x ...

  6. ACM2037

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

  7. fork和缓冲区

    fork在面试中经常被问到,在这里复习一下. frok创建子进程,父子进程共享.text段,子进程获得父进程数据段.堆和栈的副本,由于在fork之后经常跟随者exec,所以很多实现并不执行父进程数据段 ...

  8. 开源软件授权协议详解(GPL/MPL/LGPL/BSD/Apache Licence/Creative Commons/MIT)

    开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢? 答案是否定的. 开源运动同样有自己的游戏规则和道德准则. 不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成 ...

  9. Spring源代码解析(收藏)

    Spring源代码解析(收藏)   Spring源代码解析(一):IOC容器:http://www.iteye.com/topic/86339 Spring源代码解析(二):IoC容器在Web容器中的 ...

  10. (转)JS正则表达式元字符

    正则 描述 正则 描述 \f 匹配换页符 \t 匹配制表符 \n 匹配换行符 \v 匹配垂直制表符 \r 匹配回车 \s 匹配单个空格,等同于[\f\n\r\t\v]; \S 表示非空格字符 \d 在 ...