网上查了下,然后知道就是在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`功能的详细教程和示例代码。 首先,我们要理解`...
这个压缩包文件"安卓Android源码——自定义适配器的ExpandableListView.rar"包含了一份关于如何在Android应用中自定义`ExpandableListView`适配器的详细文档(自定义适配器的ExpandableListView.doc)以及一个实际的...
本项目是基于Android开发的仿QQ好友分组ExpandableListView,包含71个文件,其中包括49个PNG图像、10个XML配置文件、6个Java源代码文件、1个gitignore文件、1个Markdown文档、1个Gradle构建文件、1个Idea配置文件、1...
在Android开发中,有时我们需要创建一个可展开和折叠的列表,以展示层次结构的数据,比如模仿QQ的好友分组功能。这就是ExpandableListView的作用。它是一个特殊的ListView,能够支持子项的扩展和收缩,非常适合用来...
这个"ExpandableListView仿QQ列表的实现" demo旨在教你如何利用`ExpandableListView`创建类似QQ应用的功能,提供一个交互性强、层次清晰的界面。 首先,`ExpandableListView`是`ListView`的扩展,它允许每个条目有...
这个"Android源码——仿QQ多级列表框源码.zip"压缩包提供了一种实现此类功能的方法。接下来,我们将深入探讨相关知识点。 1. 多级列表(Nested ListView): 在Android中,为了实现多级列表,开发者通常会使用...
滑动的时候title会根据子项固定在最上方。 带下拉刷新,上拉加载,真机测试没有问题, 10分因为花费很多精力去写,请见谅
`ExpandableListView`是Android提供的一个可扩展的列表视图,它可以展示分组数据,每组数据下还可以包含多个子项,这种结构与QQ的分组列表用户信息展示方式非常相似。在本项目中,我们将利用`ExpandableListView`来...
这份“安卓Android源码——仿QQ多级列表框源码.zip”压缩包提供了一种实现此类功能的方法。下面,我们将详细讨论相关知识点。 首先,源码中的核心组件很可能是自定义的ListView或者RecyclerView,因为这两种控件是...
在Android开发中,ExpandableListView是一个非常实用的控件,它可以展示可展开和折叠的列表,非常适合用来模拟QQ好友分组这样的场景。本教程将详细讲解如何利用ExpandableListView实现类似QQ好友分组的功能。 首先...
在安卓开发中,`ExpandableListView` 是一个非常重要的组件,它允许用户展示层次结构的数据,比如目录结构、菜单选项等。本项目是关于如何在Android应用中实现一个基于自定义适配器的`ExpandableListView`。适配器是...
在Android开发中,`ExpandableListView`是一种常用的控件,它允许用户展开和折叠不同的组,每个组下可以包含多个子项,非常适合用于构建类似QQ好友列表这样的分组数据展示。`ExpandableListView`提供了更丰富的交互...
在Android开发中,"仿QQ我的好友界面ExpandableListView应用"是一个常见的需求,它涉及到对ExpandableListView组件的深入理解和定制。ExpandableListView是Android SDK提供的一种可扩展的列表视图,它可以显示分组...
这个压缩包文件“安卓Android源码——模仿QQ的扩展型很好的ExpandableListView.rar”显然是一个示例项目,用于演示如何创建一个类似于QQ应用中的可扩展列表视图。下面我们将详细讨论`ExpandableListView` 的相关知识...
本资源提供的"Android源码——基于自定义适配器的ExpandableListView源码.zip"包含了实现这一功能的具体代码示例,通过分析这些代码,我们可以深入理解如何自定义适配器来有效地使用ExpandableListView。 首先,让...
本源码将演示Android ExpandableListView的用法,制作一个类似QQ界面的好友分组列表展开收缩效果,为什么最开始没有使用ListView呢?因为ListView只能显示一级列表,如果实现像QQ好友列表那样的效果,就需要用到...
这个压缩包“安卓Android源码——基于自定义适配器的ExpandableListView.zip”提供了关于如何使用自定义适配器来操作这种列表视图的示例代码。 首先,`ExpandableListView`是`ListView`的扩展,增加了可扩展性,使...
模仿QQ好友列表的ExpandableListView实现的效果 现在已实现一个封装好的类出来,只需要把此控件放到RelativeLayout容器中,然后在其Adapter的自定义对象中实现一个HideGroup方法。就可以在Activity里不使用代码实现...
在Android开发中,ExpandableListView是一个非常实用的控件,它可以用来展示具有层级关系的数据,例如多级菜单、目录树等。本示例是关于如何使用Android源码创建一个ExpandableListView来实现多级菜单分类展示的具体...