在网上看了很多关于多级子菜单的实现方式,有自定义ListView实现的,还有一些使用的PopWindow实现的,总得来说可能对于刚刚上手Android开发的人来说可能看这些有些不明白,下面我将使用传统的方式来实现(两个ListView结合使用),对于这种方式,可能在代码量上比较多,但是个人认为还是比较基础的,还有就是我的代码没有进行重构,可能很多代码都是冗余的,所以希望看官们见谅哈。。。。。。
多级下拉菜单的原理:
第一步:初始化两个ListView的数据
第二步:将这个两个ListView中的数据进行关联(这个是重点)
之后就是根据实际情况,在代码中进行处理。下面我就结合代码来说一说整个实现的过程。
首先就是让大家看看效果图:
我这里就仅仅实现了“全部地区”选项的二级子菜单,而且这些都是我从项目中抠出来的,可能会遗漏一些东西,但是大家把原理看懂了,自己去慢慢写吧。
布局文件是:
<?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" >
<LinearLayout
android:id="@+id/middlelinearlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/tuan_tab_linear_background"
android:paddingBottom="0.5dp"
android:paddingLeft="0dp"
android:paddingRight="0.5dp"
android:paddingTop="0dp" >
<TextView
android:id="@+id/Shoplist_title_textbtn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/my_tab_background"
android:drawableRight="@drawable/ic_arrow_down_black"
android:gravity="center_horizontal"
android:padding="10dp"
android:singleLine="true"
android:text="全部地区"
android:textColor="#666666" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
a