网上查了下,然后知道就是在ExpandableListView上加个LinearLayout当指示器(不管是什么,一样效果就行,像QQ是自定义控件,很强大,可惜他不放源码出来),,,
xml:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ExpandableListView android:id="@+id/expandableListView" android:layout_width="match_parent" android:layout_height="match_parent" android:groupIndicator="@null" android:background="@color/whilte" > </ExpandableListView> <LinearLayout android:id="@+id/listView_guide" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:background="@color/whilte" android:orientation="vertical" > </LinearLayout> </RelativeLayout>
Activity:
OnClickListener myoClickListener = new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub expandableListView_relationship.collapseGroup(gruopNum); listGuide.setVisibility(View.GONE); } }; OnScrollListener myoOnScrollListener = new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // TODO Auto-generated method stub } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // TODO Auto-generated method stub TextView textNum = (TextView) view.findViewById(R.id.textView_num);//组标记 if (textNum != null) { gruopNum = Integer.valueOf(textNum.getText().toString());// 在adapter手动存 if (expandableListView_relationship.isGroupExpanded(gruopNum)) { TextView childNum = (TextView) view.findViewById(R.id.child_num);//child标记 // 已经打开 int childCount = adapter.getChildrenCount(gruopNum) - 1; if(childCount<0){ //没有child的,返回 listGuide.setVisibility(View.GONE); return; } if (childNum != null) { int childnum = Integer.valueOf(childNum.getText().toString());// 在adapter手动存 if (childCount == childnum) { // 最后一个child listGuide.setVisibility(View.GONE); return; } } listGuide.setVisibility(View.VISIBLE); gruopView = adapter.getGroupView(gruopNum, true, gruopView, null);//重新进来时,gruopView=null, 不然会报removeView()的错 if(isFist){ listGuide.addView(gruopView); isFist = false; } listGuide.invalidate(); } else { listGuide.setVisibility(View.GONE); } } } };
相关推荐
安卓Android源码——自定义适配器的ExpandableListView.zip
安卓Android源码——自定义适配器的ExpandableListView.rar
Android 仿QQ好友分组列表,ExpandableListView的使用详解demo,内含源码及apk文件
这个demo主要介绍了扩展ListView的使用,主要是一个仿QQ列表的小功能,希望可以帮助需要的同学.
安卓Android源码——基于自定义适配器的ExpandableListView源码.zip
滑动的时候title会根据子项固定在最上方。 带下拉刷新,上拉加载,真机测试没有问题, 10分因为花费很多精力去写,请见谅
安卓Android源码——基于自定义适配器的ExpandableListView.zip
Android源码——基于自定义适配器的ExpandableListView源码.zip
在我们的项目开发过程中,经常会对用户的信息进行分组,即通过组来显示用户的信息,同时通过一定的查询条件来显示查询后的相关用户信息,并且通过颜色选择器来设置列表信息的背景颜色。
安卓Andriod源码——一个ExpandableListView的例子,实现多级菜单分类展示.zip
安卓Android源码——一个ExpandableListView的例子,实现多级菜单分类展示.zip
ExpandableListView仿QQ好友列表
使用expandablelistview实现qq好友分组的功能,代码挺简单的,有注释
本源码将演示Android ExpandableListView的用法,制作一个类似QQ界面的好友分组列表展开收缩效果,为什么最开始没有使用ListView呢?因为ListView只能显示一级列表,如果实现像QQ好友列表那样的效果,就需要用到...
安卓Android源码——模仿QQ的扩展型很好的ExpandableListView.zip
安卓Android源码——模仿QQ的扩展型很好的ExpandableListView.rar
模仿QQ好友列表的ExpandableListView实现的效果 现在已实现一个封装好的类出来,只需要把此控件放到RelativeLayout容器中,然后在其Adapter的自定义对象中实现一个HideGroup方法。就可以在Activity里不使用代码实现...
在做像QQ好友列表展开时展开项一直漂浮在页面最上面,当下一个父列表滑动到最上面时漂浮栏随从滑出屏幕,我知道可能用expandablelistview但漂浮的效果一直做不好,纠结了好久弄得差不多了,希望对大家有用共同学习也...
Android 源码开源 Expandablelistview实现,仿QQ 人员列表,聊天的实现,包括图片,语音 自制Shape Android 源码开源 Expandablelistview实现,仿QQ 人员列表,聊天的实现,包括图片,语音 自制Shape Android 源码...