上下文菜单创建
我做了简单的菜单。
现在我怎样才能制作一个上下文菜单?
I have made simple menu.
Now how can I make a context menu?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我做了简单的菜单。
现在我怎样才能制作一个上下文菜单?
I have made simple menu.
Now how can I make a context menu?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
只需在 onCreate 方法中注册上下文菜单,
通过添加项目在此处创建上下文菜单
,在此处响应所选项目
只需运行并获取上下文菜单:)
just register for context menu in onCreate method
create ContextMenu here by adding item
respond here for selected item
just run and get your context menu :)
试试这个..
try this one..
编辑:
抱歉,但它是相似的,您必须注册上下文菜单的视图,然后您必须 oververride 创建和选择的内容
//ende edit
edit:
sorry, but ist's similar, you have to register the view for the contextmenü and then you have to ovverride the create and selected stuff
//ende edit
上下文菜单代码:
Code for context Menu:
我可以解释轻松制作上下文菜单的步骤:-
来自此 Github Repo 并按照以下步骤操作。
可以发现,CircleDrag类是用于拖动圆的实现。此类包含与菜单项交互的逻辑,并使用 OnViewCrossed 接口将回调返回到 MainActivity 以重绘菜单项。
检查MainActivity.java
首先我们初始化 CircleDrag 类。
私有无效 initCircleDrag(){
最终 int 半径 = (int) getResources().getDimension(R.dimen._80sdp);
最终 CircleDrag CircleDrag = new CircleDrag(this);
CircleDrag.init(viewCircle, this, radius, IndicatorViewList);}
下面的方法用于创建动态菜单项。只需传递菜单项名称和图标即可。
下面的方法用于将菜单布局移动到触摸的位置。
下面的方法用于根据角度绘制菜单项圆。如果用户触摸中心菜单项,则菜单项绘制为圆形;如果用户触摸侧面,则菜单项绘制为半圆;如果用户触摸屏幕的任意角度,则菜单项绘制为圆的四分之一。
下面的监听器用于在长按时显示上下文菜单视图。
下面的侦听器用于检测触摸并在触摸点周围绘制菜单项。
下面的方法用于在选择或未选择项目时重绘菜单项和菜单文本。
当选择菜单项或未选择任何内容时,将调用以下方法。
这是此完整演示的 GitHub 链接。
I can explain steps to make context menu easily :-
First clone demo project from this Github Repo and follow below steps.
You can find, CircleDrag class is used for dragging circle implementation. This class contains logic for interaction with menu items and return callback to MainActivity using OnViewCrossed interface to redraw menu items.
Check MainActivity.java
First we initialize CircleDrag class.
private void initCircleDrag(){
final int radius = (int) getResources().getDimension(R.dimen._80sdp);
final CircleDrag circleDrag = new CircleDrag(this);
circleDrag.init(viewCircle, this, radius, indicatorViewList);}
Below method is used to create dynamic menu items. Just pass menu item name and icon.
Below method is used to move menu layout to touched position.
Below method is used to draw menu items circle based on the angle. If user touch in center menu items draws in round shape, if user touch on sides then menu items draw in half of the circle and if user touch on any angle of the screen then menu items draw in fourth of the circle.
Below listener is used to show contextual menu view when long press is performed.
Below listener is used to detect touch and draw menu items around touched point.
Below method is used to redraw menu items and menu text when item is selected or not selected.
Below methods are called when menu item is selected or nothing is selected.
Here is GitHub Link for this complete demo.