在社交类应用开发中经常用到群管理功能,来约束访问范围。

本文讲述的是如何实现类似微信群聊时成员管理的UI效果。

先上效果图:

(添加状态)

(删除状态)

(添加成功)

UI效果概述:

1. +图标,单击添加一个头像。

2. 长按任意一个头像,进入删除状态,头像出现删除标识,+图标消失。此时单击头像图标,则该图标被删除。

3. 在删除状态下,单击空白区域,进入正常添加状态,删除标识消失,+图标出现。

实现思路:

用GridView来实现头像的布局显示。

GridView的Item布局用FrameLayout实现,删除标识固定在左上角并影藏。在代码中根据是删除状态还是添加状态控制删除标识的显示与否。

设置GridView的OnItemClickListener和OnItemLongClickListener来处理点击事件。

注意的一点是,GridView不能设置OnClickListener,因为会与OnItemClickListener冲突,那么怎么处理在删除状态下点击GridView的空白区域呢?

本文最后是用空白的Item填充了GridView的空白区域,这样点击空白区域触发的就是ItemClickListener。

这样处理会是Item的计算复杂一点,每次增加,删除一个头像,删除状态和正常状态的变换,都需要考虑是否要换行(或者减少一行)和重新计算空白的Item个数。

具体计算规则请看源码

https://github.com/devxiaobai/headman

写的比较匆忙,有任何错误,请见谅。

devxiaobai。

转载于:https://www.cnblogs.com/devxiaobai/archive/2012/09/11/headman.html

模仿微信群聊管理功能(头像管理效果)相关推荐

  1. 一个模仿微信群聊的H5页面

    开始 上半年小米Max发布的时候,做了一个在朋友圈传播的模仿微信的群聊界面H5页面:一群公司的大咖在群里聊小米Max,用户可以向大咖们提问,以此了解产品. 页面的主体是群聊对话,同时在对话中包含了很多 ...

  2. Flutter 使用GridView模仿微信群聊UI

    先看一下效果 具体代码 https://github.com/yxwandroid/Flutter-Study-Demo/blob/master/lib/ui/grid_view_demo_scree ...

  3. 使用Socket实现类似微信群聊的功能

    1.前言 套接字(Sockets)是双向通信信道的端点.套接字可以在一个进程内,在同一机器上的进程之间,或者在不同主机的进程之间进行通信,主机可以是任何一台有连接互联网的机器. 套接字可以通过多种不同 ...

  4. Android仿微信群聊头像合成

    最近碰见仿照微信头像的需求,提供多个url的组合头像,做成微信群聊一样的头像,网上查了下,有两类,一种是合成的,一种是多个view合并展示的,合成的做的感觉很简陋,不太满足需求,多个view拼接的,在 ...

  5. android微信群聊功能,Android仿微信群聊头像效果

    在网上找了些仿微信群聊头像的开源库后,发现没特别好用的,或者说满足我需求的,就只好在别人的基础上改了下,也就有了这样的自定义控件了,以此来实现微信群聊头像的效果,效果图如下所示: 主要实现: 一.自定 ...

  6. android微信群聊功能,微信安卓内测更新,这个群聊功能等了8年

    近日,安卓版微信悄然迎来了 8.0.3 内测版更新,本次内测又带来了哪些新功能呢,一起来看看吧. 01 群聊支持键入 @所有人 微信作为国民级应用,而微信群又是微信中的一个重要组成部分." ...

  7. java 头像 微信群_Android仿微信群聊头像

    工作中需要实现仿钉钉群头像的一个功能,就是个人的头像拼到一起显示,看了一下市场上的APP好像微信的群聊头像是组合的,QQ的头像不是,别的好像也没有了. 给大家分享一下怎么实现的吧.首先我们先看一下效果 ...

  8. Android 高仿微信群聊头像

    最近小编搞了一个仿微信群聊头像的一个功能,分享给大家... 工作中需要实现仿钉钉群头像的一个功能,就是个人的头像拼到一起显示,看了一下市场上的APP好像微信的群聊头像是组合的,QQ的头像不是,别的好像 ...

  9. Android 仿钉钉、微信 群聊组合头像

    CombineBitmap 项目地址:SheHuan/CombineBitmap 简介: Android 仿钉钉.微信 群聊组合头像 更多:作者   提 Bug 标签: 效果预览   功能 生成类似钉 ...

最新文章

  1. docker history 查看docker镜像构建过程 还原dockerfile 查看启动参数
  2. 《计算机组成原理》第04章在线测试
  3. Kaggle问题总结1
  4. EChart中使用地图方式总结(转载)
  5. 查询出两个表中不同的数据
  6. 初探asp.net异步编程之await
  7. linux 下载python命令_Linux下修改Python命令的方法示例(附代码)
  8. java继承涉及的动/静态绑定及隐藏
  9. html语言代码 输入文字,html语言教程文字代码:
  10. 4月1日起支付宝、微信扫码支付单日限额500元,够用吗?
  11. 树莓派各种系统默认账号密码合集
  12. 微信小程序的基本结构
  13. 生物化学-第二章-氨基酸
  14. APP Launch 优化
  15. Python创建临时文件和文件夹
  16. 实测!Ubuntu18.04解决Teamview检测为商用问题
  17. MindMapper中怎样插入关联性
  18. DOA_GAN的近似复现
  19. 华为EMUI屏蔽更新
  20. 汇编---智慧交通场景的模拟实现

热门文章

  1. js/jq/HTML5实现 鱼骨图(因果图) 附下载地址demo
  2. 我要爬爬虫(15)用appium爬取手机QQ音乐歌名
  3. cubeMX 选择管脚引脚警告
  4. 公共服务机器人能给传统服务行业带来哪些变化?
  5. 同为首富,李彦宏和马云有何不同?
  6. matlab画图的程序,matlab基本画图
  7. Python 爬取猫眼数据分析《无名之辈》为何能逆袭成黑马?
  8. python储物柜难题_这些省空间的家具设计,让你的小家变大不再是难题|附收纳整理小技巧...
  9. Win10系统蓝屏终止代码SYSTEM_SERVICE_EXCEPTION解决方案
  10. 关于酷狗音乐2010版安全检测的报告