Android 按钮和GLSurfaceView
我有一个GLSurfaceView,其中我使用OpenGL显示了一些动画 我现在想在这个视图中添加一个按钮。这是如何实现的Android 按钮和GLSurfaceView,android,button,glsurfaceview,Android,Button,Glsurfaceview,我有一个GLSurfaceView,其中我使用OpenGL显示了一些动画 我现在想在这个视图中添加一个按钮。这是如何实现的 是否可以在不涉及xml布局的情况下完成此操作?您可以手动构建视图并将视图添加到活动的内容视图中。在GLSurfaceView上执行setContentView后,或通过XML布局,在活动中的onCreate方法中,可以执行以下操作,即在左上角的GLSurfaceView顶部添加一个按钮: Button b = new Button(this); b.setText("H
是否可以在不涉及xml布局的情况下完成此操作?您可以手动构建视图并将视图添加到活动的内容视图中。在GLSurfaceView上执行setContentView后,或通过XML布局,在活动中的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\u VERTICAL等
确保您正在呼叫return super.onTouch。。。在触摸事件方法中,如果您的GLSURFACHEVIEW正在拦截触摸,或者您的按钮将不会接收触摸事件。如果其他人遇到此问题,请在需要时尝试查看组。LayoutParams;这将有助于(至少Android Studio)找到必要的导入。