首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按钮和GLSurfaceView

按钮和GLSurfaceView
EN

Stack Overflow用户
提问于 2010-08-28 05:02:08
回答 1查看 8.9K关注 0票数 7

我有一个用OpenGL显示动画的GLSurfaceView。

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

可以在不涉及xml布局的情况下完成吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-06 07:13:49

您可以手动构建视图并将其添加到活动的内容视图中。在您的活动的onCreate方法中,在对GLSurfaceView执行setContentView之后,或者通过XML布局,您可以执行以下操作,这将在左上角的GLSurfaceView上添加一个按钮:

代码语言:javascript
复制
 Button b = new Button(this);
 b.setText("Hello World");
 this.addContentView(b,
            new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

如果希望按钮位于屏幕上的其他位置,则需要将其添加到布局中,然后将该布局添加到内容视图中。要使按钮位于屏幕中心,您可以执行以下操作:

代码语言:javascript
复制
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,等等。

确保调用的是return super.onTouch...在您的触摸事件方法中,如果您的GLSurfaceView正在拦截触摸,否则您的按钮将不会接收触摸事件。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3588093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档