Android仿QQ长按删除弹出框功能示例
发布时间 - 2026-01-11 00:05:00 点击率:次废话不说,先看一下效果图,如果大家感觉不错,请参考实现代码:
对于列表来说,如果想操作某个列表项,一般会采用长按弹出菜单的形式,默认的上下文菜单比较难看,而QQ的上下文菜单就人性化多了,整个菜单给用户一种气泡弹出的感觉,而且会显示在手指按下的位置,而技术实现我之前是使用popupWindow和RecyclerView实现的,上面一个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内存限制【解决方案】

