ExpandableListView仿QQ好友列表
来源:互联网 发布:少女淘宝店铺推荐 编辑:程序博客网 时间:2024/05/06 16:29
本例中,对ExpandableListView中的数据进行了封装,分为两个JavaBean,一个为Group类表示组信息,一个Child类表示该组下子列表信息:
Group:
public class Group {
private String groupName;//分组名
private List<Child> childList;//该分组写子列表 public String getGroupName() { return groupName; } public void setGroupName(String groupName) { this.groupName = groupName; } public List<Child> getChildList() { return childList; } public void setChildList(List<Child> childList) { this.childList = childList; } }
Child:
public class Child implements Serializable{ private String username;//用户名 private String headphoto;//用户头像 private String mood;//心情 private String online_status;//在线状态 public String getMood() { return mood; } public void setMood(String mood) { this.mood = mood; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getOnline_status() { return online_status; } public void setOnline_status(String online_status) { this.online_status = online_status; } public String getHeadphoto() { return headphoto; } public void setHeadphoto(String headphoto) { this.headphoto = headphoto; }ExpandableListView则用到了一个开源控件:IphoneTreeView继承自ExpandableListView,很好的实现了类似QQ好友列表的展现形式,只是需要在样式上做些更改,上图:
本例中也实现了类似qq好友在线情如在线好友头像为亮色,非在线好友头像为暗色(设置透明度即可),以及在线好友占总好友数目比例(可根据Child中的在线状态属性设定,值为1表示在线,为0表示非在线),另外也实现了向上滑动时组别悬浮即停留在顶部的功能。使用时,只需要传入一个List<Group>即可,我在这里是模拟了一些数据,正常情况下当然要从服务端接收数据:
private void initData() { listGroup=new ArrayList<Group>(); //第一组 Group group=new Group(); group.setGroupName("我的好友"); List<Child> listChild=new ArrayList<Child>(); for(int i=0;i<10;i++){ Child child=new Child(); child.setUsername("我的好友"+i); child.setHeadphoto("http://d.hiphotos.baidu.com/zhidao/pic/item/562c11dfa9ec8a13e028c4c0f603918fa0ecc0e4.jpg"); child.setMood("今天心情不错哈~"); if(i<3) child.setOnline_status("1"); else child.setOnline_status("0"); listChild.add(child); } group.setChildList(listChild); listGroup.add(group); //第二组 group=new Group(); group.setGroupName("我的同学"); listChild=new ArrayList<Child>(); for(int i=0;i<20;i++){ Child child=new Child(); child.setUsername("我的同学"+i); child.setHeadphoto("http://wenwen.soso.com/p/20090901/20090901120135-1666292770.jpg"); child.setMood("今天心情不错哈~"); if(i<3) child.setOnline_status("1"); else child.setOnline_status("0"); listChild.add(child); } group.setChildList(listChild); listGroup.add(group); //第三组 group=new Group(); group.setGroupName("我的朋友"); listChild=new ArrayList<Child>(); for(int i=0;i<30;i++){ Child child=new Child(); child.setUsername("我的朋友"+i); child.setHeadphoto("http://img.xiaba.cvimage.cn/4d908de84538f31e2dbe0a00.jpg"); child.setMood("今天心情不错哈~"); if(i<4) child.setOnline_status("1"); else child.setOnline_status("0"); listChild.add(child); } group.setChildList(listChild); listGroup.add(group); mExpAdapter = new ConstactAdapter(this, listGroup, mIphoneTreeView); mIphoneTreeView.setAdapter(mExpAdapter); }需要源码请扫描下面二维码
0 0
- ExpandableListView仿QQ好友列表
- ExpandableListView仿QQ好友列表
- 仿QQ好友列表 ExpandableListView
- 完全仿QQ好友列表,自定义ExpandableListView!
- 完全仿QQ好友列表,自定义ExpandableListView!
- 完全仿QQ好友列表,自定义ExpandableListView!
- ExpandableListView实现仿QQ好友列表
- 在Fragment里面使用ExpandableListView实现仿qq好友列表
- Android 仿QQ好友分组列表、ExpandableListView的使用详解
- 仿QQ好友列表
- Android_ExpandableListView_仿QQ好友列表
- Android ExpandableListView实现仿好友列表
- 06.实例篇:仿QQ好友列表——ExpandableListView和ListView(下篇)
- 用ExpandableListView实现类似QQ好友列表
- 用ExpandableListView实现类似QQ好友列表
- 用ExpandableListView实现类似QQ好友列表
- 用ExpandableListView实现类似QQ好友列表
- Android ExpandableListView实现QQ好友列表效果
- 10 个迅速提升你 Git 水平的提示
- 有关/proc/uptime这个文件里两个参数所代表的意义
- 显卡知识扫盲 为你讲述流水线的发展与未来
- 游戏设计的艺术:一本透镜的书——第六章 游戏以一个创意开始
- 新手入门程序必须克服的5个障碍
- ExpandableListView仿QQ好友列表
- kmeans python实现
- Protocol Buffers, Avro, Thrift,MessagePack区别
- 古代女子内衣中藏大秘密 现代人看了都脸红
- 苹果账号申请流程——99刀(个人版或公司版 ),299刀(企业版)
- Git查看某一天的详细修改日志
- Effective C++ 条款22
- 使用桥接模式让两个抽象层级能够独立的演化。
- SAT历年真题之:作文题目汇总(二)