解决方法
您可以手动构建视图并将其添加到活动的内容视图中.在GLSurfaceView上执行setContentView或通过
XML布局后,在Activity中的onCreate方法中,您可以执行以下操作,在左上角的GLSurfaceView顶部添加一个按钮:
Button b = new Button(this); b.setText("Hello World"); this.addContentView(b,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
如果您希望按钮位于屏幕上的其他位置,则需要将其添加到布局中,然后将该布局添加到内容视图中.要拥有位于屏幕中心的按钮,您可以执行以下操作:
LinearLayout ll = new LinearLayout(this); Button b = new Button(this); b.setText("hello world"); ll.addView(b); ll.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL); this.addContentView(ll,new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
如果你想要屏幕底部的按钮,你可以使用Gravity.BOTTOM而不是Gravity.CENTER_VERTICAL等.
如果您的GLSurfaceView正在拦截触摸,或者您的按钮不会接收触摸事件,请确保在触摸事件方法中调用return super.onTouch ….