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;
}