浅沫记忆 发表于 2022-5-25 23:43:08

【项目分享】【Android】长按小Demo

前言
【项目资源】longPressDemo


项目功能介绍

[*]长按显示菜单
【效果图】

[*]出发条目后,显示提示信息
【效果图】


项目技术支持
【开发环境】

[*]Android Studio
[*]window11
【开发语言】

[*]后端:

[*]Java

[*]前端

[*]xml


项目难点
如何设置出长按效果?

[*]通过按钮控件绑定setOnCreateContextMenuListener()长按列表弹出菜单

如何添加长按后显示菜单条目?

[*]通过创建添加条目方法onCreateContextMenu方法创建触发菜单
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenu.ContextMenuInfo menuInfo){}
ContextMenu menu:菜单对象
View v:视图对象
ContextMenu.ContextMenuInfo menuInfo:菜单信息对象
[*]通过add()方法添加菜单条目
【格式】menu.add()方法格式
menu.add(groupId,itemId,orderId,"itemContext");
groupId:组概念

[*]可以将几个菜单项归为一组,以便更好的以组的方式管理你的菜单按钮。
[*]groupId并不影响排列顺序。
itemId:项目编号

[*]一个itemId对应一个menu中的选项。
[*]在后面使用菜单的时候,就靠这个itemId来判断你使用的是哪个选项
orderId:菜单项的显示顺序

[*]默认是0,表示菜单的显示顺序就是按照add的显示顺序来显示
[*]如果两个位置数值一样,那么先定义的排前面。


如何判断触发哪一个条目?

[*]通过获取Id使用switch语句来设置触发效果

[*]获取ID

[*]获取groupId方法
item.getGroupId();

[*]获取itemId方法
item.getItemId()


[*]通过Toast(提示效果)来证明触发到菜单条目
Toast.makeText(getApplicationContext(),"提示的内容",Toast.LENGTH_LONG).show();
第一个参数:上下文对象

[*]这里用到getApplicationContext()获取全局的一个Context变量,这个变量只要app在运行就会有
了解更多
第二个参数:显示的内容
第三个参数:显示的时间

[*]只有LONG(时间较长)和SHORT(时间较短)两种会生效
[*]即时你定义了其他的值,最后调用的还是这两个


结语
【感谢】

[*]感谢各位读者能看到最后!!!


   
   
   
                        

https://www.cnblogs.com/lao-jiaweijarvee/p/16311464.html
页: [1]
查看完整版本: 【项目分享】【Android】长按小Demo