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


相关推荐: 如何自定义建站之星模板颜色并下载新样式?  如何在IIS中新建站点并解决端口绑定冲突?  如何利用DOS批处理实现定时关机操作详解  原生JS实现图片轮播切换效果  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  JavaScript如何实现继承_有哪些常用方法  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  如何在橙子建站中快速调整背景颜色?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  如何在万网自助建站中设置域名及备案?  ,南京靠谱的征婚网站?  详解jQuery中的事件  Bootstrap整体框架之JavaScript插件架构  实例解析Array和String方法  新三国志曹操传主线渭水交兵攻略  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  浅谈javascript alert和confirm的美化  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  北京专业网站制作设计师招聘,北京白云观官方网站?  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  如何在阿里云通过域名搭建网站?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel如何处理表单验证?(Requests代码示例)  长沙做网站要多少钱,长沙国安网络怎么样?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel怎么判断请求类型_Laravel Request isMethod用法  iOS中将个别页面强制横屏其他页面竖屏  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  5种Android数据存储方式汇总  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Laravel如何实现API版本控制_Laravel版本化API设计方案  Laravel怎么实现模型属性的自动加密  JS经典正则表达式笔试题汇总  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  JS弹性运动实现方法分析  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Android中AutoCompleteTextView自动提示  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  ,网页ppt怎么弄成自己的ppt?  PythonWeb开发入门教程_Flask快速构建Web应用  打开php文件提示内存不足_怎么调整php内存限制【解决方案】