Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 按钮和GLSurfaceView_Android_Button_Glsurfaceview - Fatal编程技术网

Android 按钮和GLSurfaceView

Android 按钮和GLSurfaceView,android,button,glsurfaceview,Android,Button,Glsurfaceview,我有一个GLSurfaceView,其中我使用OpenGL显示了一些动画 我现在想在这个视图中添加一个按钮。这是如何实现的 是否可以在不涉及xml布局的情况下完成此操作?您可以手动构建视图并将视图添加到活动的内容视图中。在GLSurfaceView上执行setContentView后,或通过XML布局,在活动中的onCreate方法中,可以执行以下操作,即在左上角的GLSurfaceView顶部添加一个按钮: Button b = new Button(this); b.setText("H

我有一个GLSurfaceView,其中我使用OpenGL显示了一些动画

我现在想在这个视图中添加一个按钮。这是如何实现的


是否可以在不涉及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)找到必要的导入。