先前公司有个需求,让我们做一个城市列表页,不是常见的侧边快速索引,也不是粘性头部的滑动模式,而是分组城市可折叠的模式,自己研究了下,实现这个效果:
接下来说下我的实现思路:目前这个列表主要分为两部分——热门城市和所有城市列表,相当于是两个不同类型的布局,我在做的时候使用的是ListView的添加头部的方式,把热门城市作为头部添加到lListView中,接下来再做城市列表实现。这是一种思路,其实分类型应该也可以实现这个功能,我只分析我这里实现的思路,分类型大家可以自己去尝试尝试。
一、设置滑动列表布局
添加ListView控件在你的布局文件中:
<ListView
android:id="@+id/public_allcity_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="@android:color/transparent"
android:divider="@null"
android:listSelector="@android:color/transparent" />
将热门城市作为ListView的头部添加到列表中:
/**
* 添加listview的头部——热门城市
*/
private void addListHead() {
LayoutInflater localLayoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View hotBlank = localLayoutInflater.inflate(R.layout.location_layout, pub