Android 11.0 实现点击鼠标右键,显示菜单栏

Posted 王睿丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 11.0 实现点击鼠标右键,显示菜单栏相关的知识,希望对你有一定的参考价值。

packages/apps/Launcher3/src/com/android/launcher3/touch/WorkspaceTouchListener.java

【思路】
(1)获取鼠标右键的事件:ev.getButtonState() == MotionEvent.BUTTON_SECONDARY
(2)显示菜单栏:OptionsPopupView.showDefaultOptions(mLauncher, mTouchDownPoint.x, mTouchDownPoint.y);
这里传入的x,y是为了实现菜单栏可以随着我们鼠标右键的位置来显示。

    @Override
    public boolean onTouch(View view, MotionEvent ev) 
        mGestureDetector.onTouchEvent(ev);
        ....
            if (handleLongPress) 
                mLongPressState = STATE_REQUESTED;
                mTouchDownPoint.set(ev.getX(), ev.getY());
                // wangrui When the right mouse button is clicked, the menu items are displayed
+                if (ev.getButtonState() == MotionEvent.BUTTON_SECONDARY) OptionsPopupView.showDefaultOptions(mLauncher, mTouchDownPoint.x, mTouchDownPoint.y);
            
            ...

        return result;
    

以上是关于Android 11.0 实现点击鼠标右键,显示菜单栏的主要内容,如果未能解决你的问题,请参考以下文章

双屏显示时如何设定主副屏

js模拟点击鼠标右键

Android 11.0 修改鼠标图标

怎样设置鼠标右键菜单

Android中的鼠标右键

JavaScript 自定义html元素鼠标右键菜单