仿QQ好友列表分组悬浮PinnedHeaderExpandableListView

2 MB/编程其他

简介 相关 评论

简介

这是仿QQ好友列表分组悬浮PinnedHeaderExpandableListView下载,关于实现类似联系人列表,组的头部总是悬浮在listview最顶部的效果,github上面有两个比较好的实现,分别是pinnedSectionListview和pinnedHeaderListView,之所以选择后者进行源码解析,是因为后者的源码比较简单,便于我们理解实现的精髓所在。rle红软基地

软件介绍

首先说说上一节通讯录原型实现(-)中的RightLettersSlideBar中设计不好的地方,在上一节,我们将26个大写字母和#作为字符数组,这样会导致一种情况就是,加入我们的Listview的数据中不存在以“O”开头的字符集,我们的Adapter里面没有做相应的判断,就会出现很严重的错误,导致程序崩溃。有两种解决方案可以解决这个问题,第一就是将每一个字符做相应的判断,没有对应的数据的时候显示上一Section或者下一个Section的数据。第二种做法是,动态生成我们的原始导航数据的数组,意思就是将我们所有的数据的首字母提取出来,按顺序排列,那么没有数据的对应部分的首字母不会出现在我们的原始字符数组里面,在此我们选择这种做法。将RightLettersSlideBar中的charaters数组动态传入,采用set,get方法读写数据。这里就不详细再将,文章写完之后会将代码贴在后面。里面的注释也非常详细,有需要的可以下载看看。rle红软基地

软件说明

仿QQ好友列表分组悬浮PinnedHeaderExpandableListView只能显示一级列表,如果我们需要像QQ好友列表的那样的效果,就需要用到ExpandableListView,入门新手可能对该控件不是很熟悉,下面就详解一下基本用法,其实跟ListView差不多,下面来说一下具体的使用方法把!rle红软基地

相关介绍

之前学习了Pulltorefresh,pinnedheaderexpanablelistview 但是结合起来还是有点麻烦的。尤其是像QQ这种。他不是单纯的第一个当做分组。他是分组上面还有几个按钮,还有搜索框,同时可以滑动,而且还可以悬停。想了试了好几种方法,都有BUG。最后用的一种方法。rle红软基地

软件截图

 仿QQ好友列表分组悬浮PinnedHeaderExpandableListViewrle红软基地

展开

同类推荐

相关文章