模仿微信群聊管理功能(头像管理效果)
在社交类应用开发中经常用到群管理功能,来约束访问范围。
本文讲述的是如何实现类似微信群聊时成员管理的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
模仿微信群聊管理功能(头像管理效果)相关推荐
- 一个模仿微信群聊的H5页面
开始 上半年小米Max发布的时候,做了一个在朋友圈传播的模仿微信的群聊界面H5页面:一群公司的大咖在群里聊小米Max,用户可以向大咖们提问,以此了解产品. 页面的主体是群聊对话,同时在对话中包含了很多 ...
- Flutter 使用GridView模仿微信群聊UI
先看一下效果 具体代码 https://github.com/yxwandroid/Flutter-Study-Demo/blob/master/lib/ui/grid_view_demo_scree ...
- 使用Socket实现类似微信群聊的功能
1.前言 套接字(Sockets)是双向通信信道的端点.套接字可以在一个进程内,在同一机器上的进程之间,或者在不同主机的进程之间进行通信,主机可以是任何一台有连接互联网的机器. 套接字可以通过多种不同 ...
- Android仿微信群聊头像合成
最近碰见仿照微信头像的需求,提供多个url的组合头像,做成微信群聊一样的头像,网上查了下,有两类,一种是合成的,一种是多个view合并展示的,合成的做的感觉很简陋,不太满足需求,多个view拼接的,在 ...
- android微信群聊功能,Android仿微信群聊头像效果
在网上找了些仿微信群聊头像的开源库后,发现没特别好用的,或者说满足我需求的,就只好在别人的基础上改了下,也就有了这样的自定义控件了,以此来实现微信群聊头像的效果,效果图如下所示: 主要实现: 一.自定 ...
- android微信群聊功能,微信安卓内测更新,这个群聊功能等了8年
近日,安卓版微信悄然迎来了 8.0.3 内测版更新,本次内测又带来了哪些新功能呢,一起来看看吧. 01 群聊支持键入 @所有人 微信作为国民级应用,而微信群又是微信中的一个重要组成部分." ...
- java 头像 微信群_Android仿微信群聊头像
工作中需要实现仿钉钉群头像的一个功能,就是个人的头像拼到一起显示,看了一下市场上的APP好像微信的群聊头像是组合的,QQ的头像不是,别的好像也没有了. 给大家分享一下怎么实现的吧.首先我们先看一下效果 ...
- Android 高仿微信群聊头像
最近小编搞了一个仿微信群聊头像的一个功能,分享给大家... 工作中需要实现仿钉钉群头像的一个功能,就是个人的头像拼到一起显示,看了一下市场上的APP好像微信的群聊头像是组合的,QQ的头像不是,别的好像 ...
- Android 仿钉钉、微信 群聊组合头像
CombineBitmap 项目地址:SheHuan/CombineBitmap 简介: Android 仿钉钉.微信 群聊组合头像 更多:作者 提 Bug 标签: 效果预览 功能 生成类似钉 ...
最新文章
- docker history 查看docker镜像构建过程 还原dockerfile 查看启动参数
- 《计算机组成原理》第04章在线测试
- Kaggle问题总结1
- EChart中使用地图方式总结(转载)
- 查询出两个表中不同的数据
- 初探asp.net异步编程之await
- linux 下载python命令_Linux下修改Python命令的方法示例(附代码)
- java继承涉及的动/静态绑定及隐藏
- html语言代码 输入文字,html语言教程文字代码:
- 4月1日起支付宝、微信扫码支付单日限额500元,够用吗?
- 树莓派各种系统默认账号密码合集
- 微信小程序的基本结构
- 生物化学-第二章-氨基酸
- APP Launch 优化
- Python创建临时文件和文件夹
- 实测!Ubuntu18.04解决Teamview检测为商用问题
- MindMapper中怎样插入关联性
- DOA_GAN的近似复现
- 华为EMUI屏蔽更新
- 汇编---智慧交通场景的模拟实现
热门文章
- js/jq/HTML5实现 鱼骨图(因果图) 附下载地址demo
- 我要爬爬虫(15)用appium爬取手机QQ音乐歌名
- cubeMX 选择管脚引脚警告
- 公共服务机器人能给传统服务行业带来哪些变化?
- 同为首富,李彦宏和马云有何不同?
- matlab画图的程序,matlab基本画图
- Python 爬取猫眼数据分析《无名之辈》为何能逆袭成黑马?
- python储物柜难题_这些省空间的家具设计,让你的小家变大不再是难题|附收纳整理小技巧...
- Win10系统蓝屏终止代码SYSTEM_SERVICE_EXCEPTION解决方案
- 关于酷狗音乐2010版安全检测的报告