实现的思路:左边这个是listView ,右边是两级的expandListView
将这两个view 动态放到viewpager里面 设置好比例,剩下的就是处理点击联动事件了。
大体代码如下:
activity中 放viewpager的xml
<LinearLayout
android:id="@+id/category_ll"
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:layout_above="@+id/button_ll"
android:layout_below="@+id/title_ll"
android:orientation=“vertical”
android:visibility=“gone”>
<com.jky.mobile_gczjjc.widget.MyViewPager
android:id="@+id/category_viewpager"
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:overScrollMode=“never” />
target_first_parger.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:background="@color/target_divider_color"
android:orientation=“vertical”>
<ListView
android:id="@+id/target_first_lv"
android:layout_width=“fill_parent”
android:layout_height=“fill_parent”
android:background="@color/white"
android:cacheColorHint="@android:color/transparent"
android:divider="@null"
android:scrollbars=“none” />
target_second_parger.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:background="@color/target_divider_color"
android:orientation=“vertical”>
<ExpandableListView
android:id="@+id/target_second_exl"
android:layout_width=“fill_parent”
android:layout_height=“fill_parent”
android:background="@color/white"
android:cacheColorHint="@android:color/transparent"
android:divider="@null"
android:groupIndicator="@null"
android:scrollbars=“none” />
activity中 核心代码
//一级
mViewPager = findViewById(R.id.category_viewpager);
LayoutInflater inflater = LayoutInflater.from(this);
view1 = inflater.inflate(R.layout.target_first_parger, null);
view2 = inflater.inflate(R.layout.target_second_parger, null);
mFirstListView = view1.findViewById(R.id.target_first_lv);
mSecondListView = view2.findViewById(R.id.target_second_exl);
mFirstAdapter = new TargetCategoryFirstAdapter(this, firstBeans);
mFirstAdapter.setSelectedBackgroundResource(R.drawable.select_white);//选中时
mFirstAdapter.setHasDivider(false);
mFirstAdapter.setNormalBackgroundResource(R.color.target_bg_gray);//未选中
mFirstListView.setAdapter(mFirstAdapter);
views.add(view1);
views.add(view2);//加载了一二级菜单
mViewPager.setAdapter(new MyPagerAdapter(views));
初始化数据及点击事件部分
p