XListView的介绍和使用

来源:互联网 发布:淘宝带金字 编辑:程序博客网 时间:2024/06/10 04:42


           在开发的过程中,我们使一般会经常使用ListView,那么就会用到下拉刷新和上拉加载,我下载了XListView的框架,然后仔细分析了里面的原理,并且在原来的基础之上,增加了自己的想法,希望大家给出宝贵的建议,互相学习和探讨。

  下载地址:http://download.csdn.net/detail/forwardyzk/7262781

          下面先大概介绍一下开发思路:

        







以上是基本类的大体的框架

      

     总结:

        1.使用了自定义控件,重写了继承系统类。把头部,底部,和控件本身进行了封装。

        2.在各个类进行操作的时候,使用了标记来表示不同的状态,然后对不同的状态的操作进行封装了方法。

        3.在调用的时候封装了回调函数。在控件的本身类进行回调函数的实现。

        4.增加了在静止的时候,使用了匿名滚动事件对象,判断了当前的系统没有给设置滚动事件对象,那么就使用匿名的,在显示的是最后一项并且是静止的时候,那么就自动调用加载更多方法。

       5.在处理顶部和底部不同状态时候,使用了LinearLayout.LayoutParams和setLayoutParams(lp)显示在不同的位置,并且使用了Scroller不断的控制控件滑动的位置。


  使用XListView的步骤。

    1.在XListViewActivity类中的onCreate()方法设置适配器,前提是自定义一个适配器(根据不同的需求进行优化),给mListView.setAdapter(mAdapter); 这你可以根据自己的设计,可以在不同的位置设置。

      总之一句话:给mListView设置适配器。

   2.重写onRefresh()方法,改变集合,然后更新适配器,这就是下拉刷新的操作

   3.重写onLoadMore()方法,改变集合,然后更新适配器,这就是加载更多的操作

      就这么简单使用完成了。



注意点:

     在main.xml中

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="#f0f0f0"    android:orientation="vertical" >    <me.maxwin.view.XListView        android:id="@+id/xListView"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:cacheColorHint="#00000000" >    </me.maxwin.view.XListView></LinearLayout>


一定要给XListView设置android:cacheColorHint="#00000000"属性

      原因是:ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉。滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919,那么设置android:cacheColorHint="#00000000"就不会出现背景为黑的情况。

正常状态:   点击后的状态:   移动后的状态。

要是避免设置情况,就要设置android:cacheColorHint属性


对于以上有什么不足指出,请大家指出,我及时改正。互相学习。





0 0
原创粉丝点击