创建菜单';s基于触摸事件(Android/Opengl1.0)

创建菜单';s基于触摸事件(Android/Opengl1.0),android,opengl-es,menu,Android,Opengl Es,Menu,我有一个活动类和一个渲染器类(扩展了GLSurfaceView实现渲染器)。 在Renderer类中,我有一个“onTouchEvent”方法来处理旋转等触摸事件 现在,我想显示一个菜单,在触摸屏幕的某个部分时弹出。我发现我需要在Activity类中实现一个菜单(因为我们在这里得到了MenuInflator对象)。但是,我希望在渲染器类中的onTouchEvent内部实现菜单,以便在触摸屏幕的某些部分时显示菜单 我如何实现这一点 我使用的是Android/java/opengl1.0。也许,你可

我有一个活动类和一个渲染器类(扩展了GLSurfaceView实现渲染器)。 在Renderer类中,我有一个“onTouchEvent”方法来处理旋转等触摸事件

现在,我想显示一个菜单,在触摸屏幕的某个部分时弹出。我发现我需要在Activity类中实现一个菜单(因为我们在这里得到了MenuInflator对象)。但是,我希望在渲染器类中的onTouchEvent内部实现菜单,以便在触摸屏幕的某些部分时显示菜单

我如何实现这一点


我使用的是Android/java/opengl1.0。

也许,你可以通过上下文菜单做你想做的事情,它集成得很好。 您可以在“活动”中覆盖
onCreateContextMenu()
,并禁用上下文菜单等的长按功能,也可以使用其他名称实现此方法。 然后,必须从渲染器内部调用此方法,渲染器可以访问其封闭活动。也许,您需要将一些不变的参数,如
View v
移动到方法中

public void createMyContextMenu(ContextMenu menu, View v,
                                ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.context_menu, menu);
}


是的,您可以通过上下文菜单来完成。您可以在任何时候(例如,根据您的要求响应自定义onTouchEvent)通过拨打电话提出此问题。上下文菜单必须在包含活动的内部定义,但可以在视图和活动之间设置协议,以添加视图特定的行为。如果您查看我的应用程序中SlideView类的代码,您将看到我如何根据触摸显示器的哪个部分来显示不同的上下文菜单