Android仿QQ长按删除弹出框功能示例

发布时间 - 2026-01-11 00:05:00    点击率:

  废话不说,先看一下效果图,如果大家感觉不错,请参考实现代码:

        对于列表来说,如果想操作某个列表项,一般会采用长按弹出菜单的形式,默认的上下文菜单比较难看,而QQ的上下文菜单就人性化多了,整个菜单给用户一种气泡弹出的感觉,而且会显示在手指按下的位置,而技术实现我之前是使用popupWindowRecyclerView实现的,上面一个RecyclerView,下面一个小箭头ImageView,但后来发现没有必要,而且可定制化也不高,还是使用多个TextView更好一点。

        我封装了一下,只需要一个PopupList.Java文件。源码放在了Git上,git地址:

https://github.com/shangmingchao/PopupList

        使用方式,很简单:

        只需要调用该方法即可完成绑定:

PopupList popupList = new PopupList(); 
popupList.init(context, view, popupMenuItemList, OnPopupListClickListener); 

        例子:

lv_main = (ListView) findViewById(R.id.lv_main); 
mDataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, mDataList); 
lv_main.setAdapter(mDataAdapter); 
popupMenuItemList.add(getString(R.string.copy)); 
popupMenuItemList.add(getString(R.string.delete)); 
popupMenuItemList.add(getString(R.string.share)); 
popupMenuItemList.add(getString(R.string.more)); 
PopupList popupList = new PopupList(); 
popupList.init(this, lv_main, popupMenuItemList, new PopupList.OnPopupListClickListener() { 
 @Override 
 public void onPopupListClick(View contextView, int contextPosition, int position) { 
 Toast.makeText(MainActivity.this, contextPosition + "," + position, Toast.LENGTH_LONG).show(); 
 } 
}); 
ImageView indicator = new ImageView(this); 
indicator.setImageResource(R.drawable.popuplist_default_arrow); 
popupList.setIndicatorView(indicator); 
popupList.setIndicatorSize(dp2px(16), dp2px(8)); 

以上所述是小编给大家介绍的Android仿QQ长按删除弹出框功能示例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # 仿qq长按删除  # 仿qq弹出框  # Android自定义TipView仿QQ长按后的提示窗口  # Android仿QQ、微信聊天界面长按提示框效果  # Android仿QQ长按弹出删除复制框  # 弹出  # 只需要  # 小编  # 放在  # 多个  # 在此  # 给大家  # 很简单  # 不高  # 按下  # 装了  # 所述  # 绑定  # 先看  # 给我留言  # 请参考  # 感谢大家  # 疑问请  # 有任何  # 没有必要 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: BootStrap整体框架之基础布局组件  Laravel集合Collection怎么用_Laravel集合常用函数详解  如何快速搭建二级域名独立网站?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  iOS验证手机号的正则表达式  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  如何在万网主机上快速搭建网站?  如何在 Pandas 中基于一列条件计算另一列的分组均值  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Laravel怎么连接多个数据库_Laravel多数据库连接配置  googleplay官方入口在哪里_Google Play官方商店快速入口指南  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  深圳网站制作平台,深圳市做网站好的公司有哪些?  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  C#如何调用原生C++ COM对象详解  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  浅谈Javascript中的Label语句  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  七夕网站制作视频,七夕大促活动怎么报名?  如何快速搭建个人网站并优化SEO?  Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  如何确保西部建站助手FTP传输的安全性?  Laravel如何配置任务调度?(Cron Job示例)  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  教学论文网站制作软件有哪些,写论文用什么软件 ?  如何在Windows 2008云服务器安全搭建网站?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  QQ浏览器网页版登录入口 个人中心在线进入  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  如何在IIS中新建站点并解决端口绑定冲突?  PHP正则匹配日期和时间(时间戳转换)的实例代码  网站制作软件有哪些,制图软件有哪些?  如何在阿里云服务器自主搭建网站?  简单实现jsp分页  新三国志曹操传主线渭水交兵攻略