一、概述

ListView点击item显示菜单是要实现这样的效果:

ListView之点击展开菜单

需要实现的逻辑如下:

1)点击一个普通item,展开当前菜单,同时关闭其他菜单

2)点击一个已展开的菜单,隐藏当前菜单

3)将展开菜单滑到listview之外,再滑动回来,展开菜单状态不变

4)点击菜单中的按钮,能够根据不同item进行不同的处理

 

二、实现思路

1、UI布局上,对于这种每个listitem都包含动态显示菜单的场景,可以直接在listitem的xml布局里就包含两部分元素:item本身以及展开菜单

点击item的时候,动态控制展开菜单这部分元素的Visibility就可以了

2、逻辑控制上,需要额外记录当前展开菜单的item是谁,这样可以方便高效的实现概述中描述的逻辑

  [转载请保留本文地址:http://www.cnblogs.com/snser/p/5539746.html] 

三、开始干活

实现的代码结构不复杂,这里直接贴代码了:

listview_menu.xml:

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:background="#EEEEEE"
 6     android:orientation="vertical"
 7     tools:context="${relativePackage}.${activityClass}" >
 8     
 9     <ListView
10         android:id="@+id/listview_menu_list"
11         android:layout_width="match_parent"
12         android:layout_height="match_parent"
13         android:divider="@null" />
14 
15 </LinearLayout>
View Code

相关文章:

  • 2021-12-05
  • 2022-12-23
  • 2021-12-03
  • 2022-12-23
  • 2022-12-23
  • 2021-10-13
  • 2021-10-14
  • 2022-12-23
猜你喜欢
  • 2021-11-19
  • 2022-01-11
  • 2022-12-23
  • 2021-09-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案